美文网首页
iOS7下tableView侧滑删除不能触发

iOS7下tableView侧滑删除不能触发

作者: daybreak_ | 来源:发表于2016-08-03 10:39 被阅读671次

问题场景

tableView支持侧滑删除和编辑。在iOS7以上的系统没有任何问题,但是在iOS7上面侧滑删除触发不了。

问题原因

我在xib中设置了tableViewallowsMultipleSelectionDuringEditing为YES。

为什么

测试:

在没有设置allowsMultipleSelectionDuringEditing的时候,向左侧滑动调用<b>-(NSIndexpath *)_indexPathForSwipeRowAtPoint:(CGPoint)point</b>的方法。而设置allowsMultipleSelectionDuringEditing = YES之后,侧滑无效。
推测可能是什么原因导致向_indexPathForSwipeRowAtPoint:没有被调用。因为断点时堆栈信息也有限,这个也是私有API。所以希望通过重写该方法知道更多的东西。
之后我将自己使用的tableView继承UITableView并且实现了_indexPathForSwipeRowAtPoint:方法。结果在设置allowsMultipleSelectionDuringEditing = YES之后侧滑会调用该方法,并且也可以触发侧滑删除了。

推测:

_indexPathForSwipeRowAtPoint:里面有什么判断,当你设置allowsMultipleSelectionDuringEditing为YES的时候这个方法不会返回返回index,后续事件不会进行。感觉应该是苹果的一个bug,在iOS7以后没有这个问题了。

相关文章

网友评论

      本文标题:iOS7下tableView侧滑删除不能触发

      本文链接:https://www.haomeiwen.com/subject/mdyqsttx.html