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

Iphone 根据内容更新UITableViewCell的编辑样式,iphone,cocoa-touch,ios,uitableview,Iphone,Cocoa Touch,Ios,Uitableview,我正在创建一个类似于iPad Contacts的基于表格的界面,在这个界面中,用户可以通过点击底部的空白行来添加到行列表中。表格始终处于编辑模式,非空行的左侧应有一个标准的删除编辑图标。一旦用户开始在最后一个空行中键入内容,应在左侧添加一个删除图标(并添加一个新的空行) 有人知道如何让UITableView按需更新编辑样式吗?一切都正常,除了删除图标直到用户将行从视图中滚动出来然后再返回视图时才会出现 以下是我的editingStyleForRowAtIndexPath实现: - (UITabl

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

有人知道如何让UITableView按需更新编辑样式吗?一切都正常,除了删除图标直到用户将行从视图中滚动出来然后再返回视图时才会出现

以下是我的editingStyleForRowAtIndexPath实现:

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

尝试对正在编辑的行调用
reloadRowsAtIndexPaths:withRowAnimation:
。(我不确定这是否会扰乱您文本字段中的第一响应者状态。)

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

下面的代码为我提供了窍门:

self.tableView.editing = NO;
self.tableView.editing = YES;

在我看来,这与contacts应用程序的效果完全相同。至少,它会刷新您的编辑风格。

是的,不幸的是,这会让第一响应者陷入混乱。这很有效,谢谢!也许我应该在一个新问题中问这个问题,但您是否也找到了一种方法,在点击删除图标时删除活动响应程序UITextField的光标,就像Contacts那样?否,我从来没有考虑过这样做,因为这不是我真正关心的事情。但愿我在几个小时前就发现了这一点。接下来,这将向你的细胞发送DidTransitionState,如果它们像我的一样,并在任何控件上启用切换,你将再次失去第一响应者。当我关闭和打开编辑时,我必须遍历可见的单元格并告诉它们忽略状态。有点痛苦,但可行。我所做的是将tableView.editing设置为YES/NO时,从textfield shouldenediting返回NO。它似乎工作正常。