swift tableView左滑删除(左滑没反应可能原因)
·

方法一(推荐)
实现下面的代理方法左滑就会出现删除键,点击删除会调用下面的代理方法
func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCellEditingStyle, forRowAt indexPath: IndexPath) {
homeVC.cameraList.remove(at: indexPath.row);
tableView.reloadData();
let filePath:String = NSHomeDirectory() + "/Documents/my.plist";
let arr = NSMutableArray();
arr.addObjects(from: homeVC.cameraList);
arr.write(toFile: filePath, atomically: true);
print("jinlai")
}
注意
左滑没反应可能是和父视图的左滑手势冲突了
方法二
iOS11后也可以用下面的方法,不过方法一可以兼容iOS11以下的系统实现起来也更简单,下面的方法可能可以进行一些自定义设置吧,本人没有深入研究,我用的是方法一
@available(iOS 11.0, *)
func tableView(_ tableView: UITableView, trailingSwipeActionsConfigurationForRowAt indexPath: IndexPath) -> UISwipeActionsConfiguration? {
let contextualAction = UIContextualAction.init(style: UIContextualAction.Style.destructive, title: "shanchu") { (contextualAction, _, _) in
print("dd")
}
let config = UISwipeActionsConfiguration.init(actions: [contextualAction]);
return config
}
编辑所有的cell
1.进入编辑状态,如下图

tableView.setEditing(true, animated: true)
2.设置编辑样式
func tableView(_ tableView: UITableView, editingStyleForRowAt indexPath: IndexPath) -> UITableViewCellEditingStyle {
return .delete
}
有下面三个样式
public enum EditingStyle : Int {
case none
case delete
case insert
}
参考博客:
ios swift tableView cell左滑删除:允许一部分cell可以左滑删除,一部分禁止左滑删除
更多推荐


所有评论(0)