在编辑模式下以UITableView动态添加新行作为Add?

时间:2010-04-04 21:09:35

标签: iphone

我有一个表视图,其中包含来自数据存储区的0或n行数据。我在视图导航栏的右侧添加了一个自定义的“编辑”按钮。默认情况下,单击编辑按钮时,在操作事件中,我将视图设置为编辑模式:

[self.tableView setEditing:YES animated:YES];

当表视图处于编辑模式时,我想在表格视图的末尾添加一行,并在左侧添加“添加”按钮作为附件。当视图未处于编辑模式时,将不会显示“添加”行。当联系人处于编辑模式时,这与iPhon'e Contacts应用程序的情况非常相似。

我不确定是否需要动态添加一行,如果是这样的话?我猜的另一种方法是在调用tableView:numberOfRowsInSection:时添加更多行?如果以后是这种情况,我必须在视图未处于编辑模式时将其隐藏,并在视图处于编辑状态时可见。

顺便说一句,我的表视图是从xib文件加载的。不确定是否有任何设置将表视图的样式指定为UITableViewCellEditingStyleDelete和UITableViewCellEditingStyInsert以启用添加功能?

1 个答案:

答案 0 :(得分:4)

您需要实现一堆委托方法。 在UITableViewDelegate方面:

- (UITableViewCellEditingStyle) tableView: (UITableView *) tableView 
editingStyleForRowAtIndexPath: (NSIndexPath *) indexPath

在UITableViewDataSource端:

- (void) tableView: (UITableView *) tableView commitEditingStyle: (UITableViewCellEditingStyle) editingStyle 
 forRowAtIndexPath: (NSIndexPath *) indexPath

您只需向数据源添加新行,然后拨打[tableView reloadData][tableView insertRowsAtIndexPaths:...]

HTH。