0

我看过很多关于在表格视图中添加和删除单元格的帖子。我想要的是当用户单击单元格中的添加按钮时,它必须询问用户在该单元格中输入什么文本,然后用户在单元格中输入文本,然后将其添加到表格视图中。谁能告诉我如何做到这一点?

4

3 回答 3

1

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

除此之外,不确切知道您的问题是什么,如果您将控制器设置为合适的委托,那么您可以通过访问所有相关方法轻松添加或删除单元格,特别是那个:

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

由以下方式调用:

[yourTableView insertRowsAtIndexPaths:[NSArray arrayWithObject:newIndexPath ] withRowAnimation:UITableViewRowAnimationAutomatic];
于 2012-04-10T13:53:13.987 回答
0

有一个类似的方法(UITableViewCell *) createNewCellForTableView。这将创建并返回 UITableViewCell。

在您CellForRowAtIndexPath使用此方法为您的tableView. 这需要以这种方式完成,因为当您执行时,[tableView reloadData];每次添加新单元格时都需要创建新单元格。

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

〜一个更简单的选择:

由于您只是在寻找用户添加文本,因此您可以textField在 uitableViewcell 中嵌入一个。用户完成输入后,您可以将文本添加到dataSource(填充 的数组tableView)并重新加载 tableView。确保你有 textFieldenableddisabled你想要的。

于 2012-04-10T16:05:25.380 回答
0

这就是我的做法,它的工作原理:

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

int numRows = 0;

实现方法numberOfRowsInSection如下:

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

现在在我的应用程序中,在一个地方,我正在使用 REST API 并获取 JSON,我将 numRows 的值更新为numRows = [jsondata count];

cellForRowAtIndexPath如果您有动态内容,请按照您希望的方式编写您的方法。例如,在我的情况下,我正在使用 indexPath.row 并准备单元格并返回它。

仅当变量 numRows 大于 0 时才会调用此方法。因此,一旦您拥有动态内容,请按照我上面的说明更新 numRows 的内容并立即调用该方法[YourtableView reloadData];


于 2013-11-04T08:00:09.217 回答