如何在表视图编辑模式中滑动删除?(迅速)



我想让表视图可以重新排序。

它有汉堡包按钮重新排序单元格我可以像iOS音乐应用程序一样滑动手机来删除手机。

这样我就不能滑动单元格了。我想是tableView。settediting使cell不能滑动

我怎样才能做到呢?

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
}

最新更新