gpt4 book ai didi

ios - 编辑表格时的 UITableViewCell 行操作

转载 作者:行者123 更新时间:2023-11-28 06:05:33 25 4
gpt4 key购买 nike

我有一个 UITableView,我需要重新排序并允许通过在单元格上向左滑动以显示删除操作来删除单元格。是否可以同时拥有两者?

对于我的表:

tableView.allowsSelectionDuringEditing = true
tableView.isEditing = true

对于数据源:

func tableView(_ tableView: UITableView, canEditRowAt indexPath: IndexPath) -> Bool {
return true
}

func tableView(_ tableView: UITableView, canMoveRowAt indexPath: IndexPath) -> Bool {
return true
}

func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCellEditingStyle, forRowAt indexPath: IndexPath) {
// I do nothing here
}

func tableView(_ tableView: UITableView, moveRowAt sourceIndexPath: IndexPath, to destinationIndexPath: IndexPath) {
// This is where I rearrange my data source array
}

对于代表:

func tableView(_ tableView: UITableView, editingStyleForRowAt indexPath: IndexPath) -> UITableViewCellEditingStyle {
return .none
}
func tableView(_ tableView: UITableView, shouldIndentWhileEditingRowAt indexPath: IndexPath) -> Bool {
return false
}

func tableView(_ tableView: UITableView, editActionsForRowAt indexPath: IndexPath) -> [UITableViewRowAction]? {
let delete = UITableViewRowAction(style: .destructive, title: "Remove") { action, index in
// delete row
}
delete.backgroundColor = UIColor.appRed

return [delete]
}

所以我想要的是:

  • 重新排序控件允许我移动单元格
  • 向左滑动以显示单元格操作

我需要它们同时可见和工作。这能做到吗?

最佳答案

当您的 UITableView 处于编辑模式时,

滑动删除不可能的。

如果你想在编辑模式下隐藏左侧的删除按钮,你必须实现以下方法:

override func tableView(_ tableView: UITableView, shouldIndentWhileEditingRowAt indexPath: IndexPath) -> Bool {
return false
}

override func tableView(_ tableView: UITableView, editingStyleForRowAt indexPath: IndexPath) -> UITableViewCellEditingStyle {
return tableView.isEditing ? .none : .delete
}

我认为这是最接近的。

关于ios - 编辑表格时的 UITableViewCell 行操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48354720/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com