iOS UITableViewCell需要按两次才能调用didSelectRowAtIndexPath

前端之家收集整理的这篇文章主要介绍了iOS UITableViewCell需要按两次才能调用didSelectRowAtIndexPath前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个UITableView,有时需要你触摸它两次才能选择一个单元格.

更多细节:

>只有在桌子一直向上滚动或完全向下滚动之后才需要两次触摸.
>只有第二次触摸甚至调用didSelectRowAtIndexPath.
>当桌子以自然的“向上滚动的位置”打开时,只需轻轻一按即可选择单元格.
>如果您只是滚动一点(不是一直向下/向上),单元格将只需单击一下即可选择.
>如果单元格没有填满整个表格并且不需要滚动,则可以正常工作.
>一直走到顶部或底部,你必须触摸两次.

我有一种感觉,第一次触摸实际上是使UITableViewCells可选择或以某种方式激活表.

我检查过的事情:

>我的代码肯定不会在任何地方调用didDeselectRowAtIndexPath.
>没有UIGestureRecognizers正在使用setCancelsTouchesInView:.

桌子上的其他设置:

self.tableView.scrollEnabled = YES;
self.tableView.showsVerticalScrollIndicator = NO;
self.tableView.bounces = NO;
self.tableView.separatorStyle = UITableViewCellSeparatorStyleSingleLine;

是什么导致了这个?

更新

奇怪的是,设置self.tableView.bounces = YES;解决了这个问题.

如果有人有更好的答案,我仍在调查根本原因.显然我希望桌子不要弹跳,但如果它需要关键功能则不行.

解决方法

可能是你实现了didDeselect而不是didSelect?

猜你在找的iOS相关文章