我一直在使用editActionsForRowAt来创建内置滑动左侧功能,以显示快速访问按钮,如下所示:
func tableView(_ tableView: UITableView, editActionsForRowAt indexPath: IndexPath) -> [UITableViewRowAction]? {
print("Is this working?")
//Code to create UITableViewRowAction buttons
return [button1, button2]
}
func tableView (_ tableView: UITableView, canEditRowAt indexPath: IndexPath) -> Bool {
//I read I need this, so I have it
return true
}
func tableView (_ tableView: UITableView, commit editingStyle: UITableViewCellEditingStyle, forRowAt indexPath: IndexPath) {
//I read I need this, so I have it
}
现在我的整张桌子,包括滑动,效果很好。直到...
我的editActionsForRowAt函数有代码,如果用户滑动扩展的单元格(默认情况下它们是50,但用户可以点击以扩展高度),则editActionsForRowAt返回[],一个空数组。我之所以这样做,是因为我不希望真正高大的细胞显示伸出的按钮。
之后,即使关闭后,滑动单元格(任何单元格)甚至都不会调用editActionsForRowAt。我通过在该函数的开头添加一个打印行进行检查,无论我在刷了一个展开的单元格并返回[]后都无法打印。
有关如何解决此问题的任何想法?
答案 0 :(得分:4)
当给定的行不可编辑时,您应该从editActionsForRowAt
返回false
而不是从canEditRowAt
返回空数组。