gpt4 book ai didi

iphone - UITableViewCell 内的 UIScrollView 触摸检测

转载 作者:行者123 更新时间:2023-12-03 18:18:29 26 4
gpt4 key购买 nike

我有一个包含 8 个自定义单元格的表格 View 。在第 8 个单元格中,我添加了一个启用分页的 ScrollView ,这样我就可以显示第 1 页和第 2 页(或 3、4...10),而无需使用非常高的单元格。

问题在于scrollView,我无法使用didSelectRowAtIndexPath,因为单元格位于scrollView后面,所以我试图检测scrollView点击(而不是滑动)。

我玩了touchesBegan和touchesEnded,但它们从未被调用(我知道触摸仅适用于UIView,但也许......)

非常感谢任何帮助。

谢谢,最大

最佳答案

苹果建议在这种情况下使用一个技巧,在他们的 WWDC 2014 session 中。 “高级 ScrollView ”(参见 8:10 开始的演示):

[cell.contentView addSubview:_scrollView];
[_scrollView setUserInteractionEnabled:NO];
[cell.contentView addGestureRecognizer:_scrollView.panGestureRecognizer];

这就是需要完成的所有操作,无需重写 touchesBegan:touchesMoved: 等。

<小时/>

我之前使用过基于覆盖 touchesBegan:touchesMoved:touchesEnded:touchesCancelled: 的解决方案,但有时它会导致奇怪的行为:当选择某个单元格时,为具有不同索引路径的单元格调用方法 -tableView:didSelectRowAtIndexPath:

Apple的解决方案到目前为止没有副作用,而且看起来更优雅。

关于iphone - UITableViewCell 内的 UIScrollView 触摸检测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6636844/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com