2012-04-10 134 views
0

我见过很多关于在tableview中添加和删除单元格的文章。我想要的是,当用户单击单元格中的添加按钮时,它必须询问用户在该单元格中输入文本的内容,然后用户在单元格中输入文本,然后将其添加到tableview中。任何人都可以告诉我如何做到这一点?动态添加新的tableview单元格

+0

我不认为我理解工作流程。你说“用户点击单元格中的添加按钮”,并且“然后它被添加到tableview中”,但是,如果有一个包含按钮的单元格,它必须已经在表格中。 – 2012-04-10 12:25:47

+0

是的。添加按钮已经存在于默认文本的单元格中。当用户点击添加按钮时,用户必须能够编辑该特定单元格中的文本。当用户在该单元格中输入文本后,必须添加另一个单元格并添加按钮并且具有默认文本。 – 2012-04-10 12:38:10

回答

1

我会将添加按钮放在页脚或页眉中,而不是在单元格中,我个人认为管理单元格的添加会更容易。

从这个

除此之外,不知道你到底是什么问题,如果你让你的控制器uitable委托,那么你可以轻松地添加或通过访问所有相关的方法去除细胞,特别是那一句:

- (void)tableView:(UITableView *)aTableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath { 
    if (editingStyle == UITableViewCellEditingStyleInsert) { 
     // ...... 
    } 
} 

其由称为:

[yourTableView insertRowsAtIndexPaths:[NSArray arrayWithObject:newIndexPath ] withRowAnimation:UITableViewRowAnimationAutomatic]; 
0

有像(UITableViewCell *) createNewCellForTableView的方法。这将创建并返回UITableViewCell。

在您的CellForRowAtIndexPath中使用此方法为您的tableView创建所有单元格。这需要这样做,因为当您执行[tableView reloadData];时,需要在每次添加新单元格时创建新的单元格。

最后,在创建新单元格后,在ADD按钮的IBAction中,确保重新加载tableView。

〜一个简单的选择:

既然你只是为用户添加文本,您可以嵌入的UITableViewCell一个textField。只要用户输入完毕,就可以将文本添加到dataSource(该数组填入tableView)并重新加载tableView。确保你有你想要的textField enableddisabled

0

我这是怎么做到这一点,它的工作原理:

第一,创建一个实例变量,如下所示:

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{ 
    return numRows; 
} 

现在:

int numRows = 0; 

如下实施方法numberOfRowsInSection我的应用程序,在一个地方,我使用REST API并获得JSON,我将numRows的值更新为numRows = [jsondata count];

如果您有动态内容,请根据需要编写您的方法cellForRowAtIndexPath。例如在我的情况下,我使用indexPath.row并准备单元格并将其返回。

这种方法只会调用当变量是numRows行大于0所以只要你有你的动态内容,如我上面所解释的更新的numRows行的内容,并立即调用该方法[YourtableView reloadData];


相关问题