我有一个
我尝试根据IndexPath.row为UITableView中的单元格设置自定义操作。
func tableView(_ tableView: UITableView, editActionsForRowAt indexPath: IndexPath)
-> [UITableViewRowAction]? {
if !(itemsArray[indexPath.row].isReadOnly) {
let editAction = UITableViewRowAction(style: .normal, title: "Edit") {
(tableViewRowAction, indexPath) in
print("Edit Item \(self.itemsArray[indexPath.row].caption)\n")
}
return [editAction]
} else {
return []
}
}
我尝试在UITableView中为单元格设置自定义操作,具体取决于IndexPath.row:
单元格出现问题,我想要没有操作(相应的项目有.isReadOnly = true)
我尝试在其他情况下返回nil和[],并且两种变体都有不相关的结果用于滑动: - nil - 删除项目的操作 - [] - 细胞滑动一点点,“取消擦拭”,而不是滑动停止在任何细胞中工作
答案 0 :(得分:0)
我找到了一个解决方案:只需使用UITableView的canEditRowAt方法
func tableView(_ tableView: UITableView, canEditRowAt indexPath: IndexPath) -> Bool {
return !(items[indexPath.row].isReadOnly)
}