[英]How to swipe to delete in tableview editing mode? (swift)
I want to make table view can and reorder.我想让表格视图可以重新排序。
It has hamburger button to reorder the cells and I can swipe the cell to delete the cell like iOS music app.它有汉堡包按钮来重新排序单元格,我可以滑动单元格以删除单元格,如 iOS 音乐应用程序。
So I make this way and I can't swipe the cell.所以我这样做了,我不能刷单元格。 I think the tableView.setEditing makes cell can't swipe.
我认为 tableView.setEditing 使单元格无法滑动。
How can I make it?我怎样才能做到?
func tableView(_ tableView: UITableView, canEditRowAt indexPath: IndexPath) -> Bool {
return true
}
func tableView(_ tableView: UITableView, trailingSwipeActionsConfigurationForRowAt indexPath: IndexPath) -> UISwipeActionsConfiguration? {
let action = UIContextualAction(style: .normal, title: nil) { (action, view, completion) in
self.shoppingList.remove(at: indexPath.row)
tableView.deleteRows(at: [indexPath], with: .fade)
completion(true)
}
action.backgroundColor = .white
action.image = UIImage(named: "delete")
let configuration = UISwipeActionsConfiguration(actions: [action])
configuration.performsFirstActionWithFullSwipe = false
return configuration
}
func tableView(_ tableView: UITableView, canMoveRowAt indexPath: IndexPath) -> Bool {
return true
}
func tableView(_ tableView: UITableView, editingStyleForRowAt indexPath: IndexPath) -> UITableViewCell.EditingStyle {
return .none
}
func tableView(_ tableView: UITableView, shouldIndentWhileEditingRowAt indexPath: IndexPath) -> Bool {
return false
}
func tableView(_ tableView: UITableView, moveRowAt sourceIndexPath: IndexPath, to destinationIndexPath: IndexPath) {
let movedCell = self.shoppingList[sourceIndexPath.row]
shoppingList.remove(at: sourceIndexPath.row)
shoppingList.insert(movedCell, at: destinationIndexPath.row)
}
override func viewDidLoad() {
super.viewDidLoad()
setup()
bindConstraints()
}
func setup() {
let footerView = UIView(frame: CGRect(x: 0, y: 0, width: self.view.frame.width, height: 39))
footerView.addSubview(writeButton)
tableView.delegate = self
tableView.dataSource = self
tableView.tableFooterView = footerView
//tableView.sectionFooterHeight = 100
self.view.addSubview(tableView)
tableView.setEditing(true, animated: true)
}
Try with尝试
func tableView(_ tableView: UITableView, editingStyleForRowAt indexPath: IndexPath) -> UITableViewCellEditingStyle {
return .delete
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.