如何为所有单元格启用编辑模式,而不仅仅是可见单元格

Posted

技术标签:

【中文标题】如何为所有单元格启用编辑模式,而不仅仅是可见单元格【英文标题】:How to enable editing mode for all cells, not just visible ones 【发布时间】:2018-07-09 02:25:56 【问题描述】:

在我的应用程序中,我想让用户按下一个按钮,使他们能够更改表格视图单元格的顺序。

我正在使用[tableView setEditing:YES animated:YES];

但是,当用户按下按钮然后滚动时,按下按钮时不可见的单元格没有启用编辑模式。

我在 Apple 的文档中读到:“当您调用此方法并将editing 的值设置为true 时,表格视图会通过在每个可见 上调用setEditing(_:animated:) 进入编辑模式> UITableViewCell 对象。”

有没有办法让所有单元格处于编辑模式,尽管在启用编辑模式时不可见?

以下是一些快照:

After enabling editing mode

After scrolling

【问题讨论】:

你能在你使用的tableview上添加一些代码吗? 什么样的代码? 【参考方案1】:

当您调用[tableView setEditing:YES animated:YES]; 时,您还可以执行一些操作,例如将自定义BOOL 属性设置为YES,以指示其他单元格在显示时应处于编辑模式。

然后,在您的UITableViewDelegate 中,如果您的编辑标志为YES,您可以实现- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath 方法并在单元格上调用setEditing(_:animated:)。当您不想再发生这种情况时,请确保也将标志设置为 NO

【讨论】:

以上是关于如何为所有单元格启用编辑模式,而不仅仅是可见单元格的主要内容,如果未能解决你的问题,请参考以下文章

TableView 的屏幕截图不仅适用于可见单元格,而且适用于所有可用单元格

jface tableviewer,如何为每个单元格使用不同的单元格编辑器?

访问 collectionView 单元格可见/不可见

如何为选择多行时使用的 UITableViewCell 图像蒙皮?

如何为 UICollectionView 中的单元格设置可变单元格间距

如何为每次用户滚动时更新的每个 tableview 单元格添加一个计时器?