我一直在使用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。我通过在该函数的开头添加一条打印行来进行检查,无论在滑动扩展的单元格并返回[]之后,无论执行什么操作,它都不会打印。
有想法该怎么解决这个吗?
最佳答案
当给定的行不可编辑时,应该从editActionsForRowAt
返回false
,而不是从canEditRowAt
返回空数组。
关于ios - editActionsForRowAt返回[]后未调用UITableView滑动,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41152205/