当我点击我的屏幕上的编辑按钮时,我将我的TableView更改为编辑模式并通过执行此操作将编辑样式设置为复选框
func tableView(_ tableView: UITableView, editingStyleForRowAt indexPath: IndexPath) -> UITableViewCellEditingStyle {
return UITableViewCellEditingStyle.init(rawValue: 3)!
}
现在我需要以编程方式预先检查一些条目。 我怎样才能检查一些细胞?
我知道
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell
我必须设置将其标记为已选中的编辑样式。
答案 0 :(得分:2)
顺便说一句。我在此处(在SO上)看到了类似问题的解释,您不应使用此解释:
return UITableViewCellEditingStyle.init(rawValue: 3)!
因为它不是公共API,并且如果Apple更改了此值,则应用程序将停止正常运行。只需在编辑过程中启用“多项选择”即可达到相同的行为:
您可以通过在覆盖的方法上设置断点来轻松检查它
func tableView(_ tableView: UITableView, editingStyleForRowAt indexPath: IndexPath) -> UITableViewCellEditingStyle {
return UITableViewCellEditingStyle.init(rawValue: 3)!
}
并在运行该应用程序时启用编辑功能,并且在编辑过程中选择了多个选项,并且没有选择。您将看到,如果启用了“编辑期间的多重选择”,则根本不会调用此方法。
答案 1 :(得分:1)
我终于明白了。 在表视图中设置复选框等同于选择单元格。 所以你需要做的就是将销售标记为选中,与编辑样式无关
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "MyCell", for: indexPath) as! MyCell
let item = self.items[indexPath.row]
cell.setup(item: item)
cell.setSelected(true, animated: true) // Provided your cell is already in check box edit mode, then this makes it CHECK ON
return cell
}