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

标签 ios objective-c uitableview

我有一个 UITableView,有时需要您触摸它两次才能选择一个单元格。

更多细节:

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

我有一种感觉,第一次触摸确实使 UITableViewCells 可选择或以某种方式激活表格。

我检查过的东西:

  • 我的代码绝对不会在任何地方调用 didDeselectRowAtIndexPath
  • 没有 UIGestureRecognizers 使用 setCancelsTouchesInView:

table 上的其他设置:

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

这是什么原因造成的?


更新

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

我仍在调查根本原因,以防有人有更好的答案。显然,我希望表格不会弹跳,但如果它需要关键功能,我就不会弹跳。

最佳答案

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

关于iOS UITableViewCell 需要按两次才能调用 didSelectRowAtIndexPath,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26351819/

相关文章:

iOS 应用程序 'The application could not be verified' 仅在一台设备上

ios - 在 Swift iOS 中为协议(protocol)分配委托(delegate)时出现编译器错误

ios - ios中的图像重复类似于CSS背景重复功能

objective-c - MacOSX 下奇怪的文件对话框

ios - 如何在 uiimage 中找到特定颜色并更改该颜色

ios - iOS-Slide-Menu中的不同ViewController

ios - UIImageView+AFNetworking 图像未在 UITableViewCell 中正确加载

ios - 在框架内使用 xcframework

ios - 如何获取特定 UITableViewCell 上方(或下方)的 TableView Cell

ios - 在 iOS 上异步配置 UITableViewCells