gpt4 book ai didi

ios - 在编辑模式下移除表格行上的删除按钮 ⛔️

转载 作者:可可西里 更新时间:2023-11-01 00:52:12 30 4
gpt4 key购买 nike

我正在尝试学习 Swift,但我的项目中有一个问题让我抓狂。我在 parse.com 提供的 ViewController 中有一个工作数据列表。我设法实现了一个滑动功能,可以显示用于删除和编辑的按钮。那工作正常。现在我希望用户能够重新排序单元格。所以我成功地实现了一个按钮,将表格置于编辑模式。我的 2 个问题是:

  1. 当我进入编辑模式时,我只想能够对单元格进行重新排序,因为编辑和删除是通过滑动完成的(通过“tableView(tableView: UITableView, editActionsForRowAtIndexPath indexPath: NSIndexPath)”)。我怎样才能实现在编辑模式下触摸自动提供的删除圆圈时,用户看不到用于删除和编辑的 2 个按钮?

  2. 是否可以完全删除 delete-circle?使用“UITableViewCellEditingStyle.None”还会禁用滑动功能。

提前致谢!

最佳答案

为了避免在您将 set UITableView isEditing 设置为 true 时在左侧出现圆形红色删除按钮并且在您单击它时什么也不做,对我有用的最低限度是这个(Swift 4,iOS 11)

//避免单元格左侧的圆形红色删除按钮:

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


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

我也有这些函数,它们可能相互作用:

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

// Including this function in the delegate enable left-swipe deleting
func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCellEditingStyle, forRowAt indexPath: IndexPath)
{
if editingStyle == .delete {
savedConversions.remove(at: indexPath.row)
}
}


// Including this function enables reordering
func tableView(_ tableView: UITableView, moveRowAt sourceIndexPath: IndexPath,to destinationIndexPath: IndexPath)
{
let elem = savedConversions.remove(at: sourceIndexPath.row)
savedConversions.insert(elem, at: destinationIndexPath.row)
}

关于ios - 在编辑模式下移除表格行上的删除按钮 ⛔️,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33946836/

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