根据内容更新UITableViewCell的编辑样式

Noa*_*son 5 iphone cocoa-touch uitableview ios

我正在创建一个类似于iPad Contacts的基于表格的界面,用户可以通过点击底部的空行来添加到行列表中.该表始终处于编辑模式,非空行应在左侧具有标准删除编辑图标.一旦用户开始输入最后一个空白行,就应该在左侧添加一个删除图标(并添加一个新的空白行).

有谁知道如何让UITableView按需更新编辑样式?一切正常,但删除图标不会出现,直到用户将行滚出视图然后返回视图.

这是我的editingStyleForRowAtIndexPath实现:

- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView 
           editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath
{
   if (/* text field contains data */)
   {
      return UITableViewCellEditingStyleDelete;
   }
   else
   {
      return UITableViewCellEditingStyleNone;
   }
}
Run Code Online (Sandbox Code Playgroud)

小智 11

我昨天也遇到了同样的问题.您基本上必须切换表视图的编辑模式属性.完成后,它将刷新单元格的editingStyle.

这是为我提供技巧的代码:

self.tableView.editing = NO;
self.tableView.editing = YES;
Run Code Online (Sandbox Code Playgroud)

这给了我看起来与联系人应用程序完全相同的效果.它至少会刷新您的editingStyle.