我有一个UIViewController,它在其 View 中添加了UITableViewUIToolbar。不幸的是,我不能在这种情况下使用UITableViewController

我已经将 View Controller 的editButtonItem添加到了工具栏。我需要在UITableViewController上复制编辑按钮的默认行为-编辑按钮应绑定(bind)到tableView并将其切换到编辑模式。

我已经覆盖了UIViewControllersetEditing以包括以下行:

[_tableView setEditing:editing animated:animated];

这在大多数情况下都有效-使用editButtonItem时,表 View 成功进入和退出编辑模式。

但是,至少有一个问题。在UITableViewController上,当用户在表格中的一行上滑动时,编辑按钮将切换为“完成”。然后,“完成”将该行返回到非编辑版本。另外,触摸行外将其返回查看模式,并将编辑按钮恢复为“完成”。

我的问题:
  • 如何复制此行为,以便当单个行进入/退出编辑模式时,“编辑”按钮更改状态?
  • 我可能需要复制UITableViewControllereditButtonItem的其他哪些行为?
  • 最佳答案

    我在自己的应用中遇到了这种情况。我实现了以下表 View 委托(delegate)方法:

    - (void)tableView:(UITableView *)tableView willBeginEditingRowAtIndexPath:(NSIndexPath *)indexPath {
        [self setEditing:YES animated:YES];
    }
    
    - (void)tableView:(UITableView *)tableView didEndEditingRowAtIndexPath:(NSIndexPath *)indexPath {
        [self setEditing:NO animated:YES];
    }
    

    关于ios - 将editButtonItem连接到UITableView,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12898536/

    10-09 02:20