ios - UIScrollView inside UIScrollView – 在 TextView 范围内忽略 ScrollView 触摸?

标签 ios objective-c iphone uiscrollview first-responder

我有一个 UIScrollView在另一个 UIScrollView , 两者都垂直滚动。我遇到了一个问题,当我尝试滚动内部 ScrollView 时,触摸也被外部 ScrollView 拾取。我需要内部 ScrollView 中的触摸由它专门处理,对于 scrollViewDidScroll不要在父 ScrollView 上调用。

我已经尝试了各种方法,将 ScrollView 子类化并覆盖 hitTest:withEvent , 设置 canCancelContentTouches , 设置 exclusiveTouch ,根本没有任何作用。 scrollViewDidScroll方法首先在内部触发,然后在外部触发。

如何在第一个 ScrollView 之后有效地终止触摸,而不是将其通过响应链传递到外部 ScrollView ?

(仅供引用:层次结构是中间有一个 subview Controller ,因此外部 ScrollView 包含一个 subview Controller ,而 subview Controller 又包含内部 ScrollView )。

最佳答案

Apple 绝对不会阻止 UIScrollView 内的 UIScrollView。它实际上在文档中:

your application does not need to do anything to support nesting scrolling. It is supported and provided by default.



https://developer.apple.com/library/content/documentation/WindowsViews/Conceptual/UIScrollView_pg/NestedScrollViews/NestedScrollViews.html

如果你想禁止父 ScrollView 滚动,你可以从 child 发送一个通知,并设置 isScrollEnabled在 parent 。

关于ios - UIScrollView inside UIScrollView – 在 TextView 范围内忽略 ScrollView 触摸?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26512338/

相关文章:

ios - PhoneGap/Cordova 和外部 url 而不是 www/index.html

html - 复杂 html 的 hpple XPath 查询

ios - 如何在TableView中显示两个自定义单元格?

ios - 设备无法使用 Firebase 身份验证电话号码

ios - 我如何减少解析 sdk 集成 ios 上的应用程序大小

ios - 保存 UIScrollView 位置并在应用程序再次打开时恢复。 ( objective-C )

iphone - NSXMLParser 问题 - 标签为空

objective-c - 为最前面的应用程序生成键盘事件

ios - 异步数据调用 & CoreAnimation

ios - 自动向下钻取导航层次结构?