在 UITableViewCell 上设置编辑样式而不重新加载单元格
Posted
技术标签:
【中文标题】在 UITableViewCell 上设置编辑样式而不重新加载单元格【英文标题】:Set editing style on a UITableViewCell without reloading the cell 【发布时间】:2012-03-29 14:47:31 【问题描述】:我正在构建一个视图控制器,它与处于编辑模式的联系人应用 ABPersonViewController 非常相似。
我有一个填充了自定义 UITableViewCells 的 UITableView,其中包含一个 UITextField,用户可以在其中输入电话号码
我有一种情况,如果有人开始输入新的电话号码(在该部分的最后一个单元格中),表格底部会添加一个新的空表格视图单元格,并且当前表格的编辑样式视图单元格设置为 UITableViewCellEditingStyleDelete,就像在 Contacts 应用中一样。
我的问题是我不知道如何在不重新加载的情况下更改 UITableViewCell 的编辑样式。重新加载它的问题是它当前正在编辑的 UITextField 将被释放,关闭键盘。
有没有办法在不重新加载的情况下改变 UITableViewCell 的编辑风格?或者另一种方式来完成我想要的?
【问题讨论】:
【参考方案1】:是的,只需使用UITableViewCell
方法setEditing:animated:
。
【讨论】:
实际上这似乎对我不起作用。它对我调用它时是否显示删除按钮没有任何影响。【参考方案2】:按照这里的答案,我能够完成我想要的:
https://***.com/a/5664207/472344
【讨论】:
【参考方案3】:我已成功设置编辑单元格,并应用以下代码进行多选:
[self.tableView setEditing:YES animated:YES];
self.tableView.allowsMultipleSelectionDuringEditing = YES;
// Add these two lines can fix icon issue.(First time enter edit mode still show delete icon.)
[self.tableView beginUpdates];
[self.tableView endUpdates];
【讨论】:
以上是关于在 UITableViewCell 上设置编辑样式而不重新加载单元格的主要内容,如果未能解决你的问题,请参考以下文章
在普通样式表视图上设置 UITableViewCell 背景颜色?
在 UIScrollView/UIView 内设置 UITableViewCell 样式
使用 UIAppearance 设置 UITableViewCell 文本样式
如何在通过 UITableViewCell 中的 XIB 加载的子视图中对标签和 UILabels/UIImageViews 进行初始样式设置