我在另一个UIScrollView
内有一个UIScrollView
,两个都垂直滚动。我遇到了一个问题,当我尝试滚动内部滚动视图时,外部滚动视图之后也会接触到触摸。我需要内部滚动视图中的触摸由它专门处理,并且不要在父滚动视图上调用scrollViewDidScroll
。
我尝试了各种各样的方法,子类化滚动视图并覆盖hitTest:withEvent
,设置canCancelContentTouches
,设置exclusiveTouch
,根本没有任何效果。 scrollViewDidScroll
方法首先在内部方法上触发,然后在外部方法上触发。
如何在第一个滚动视图后有效地终止触摸,而不是将响应者链传递到外部滚动视图?
(仅供参考:层次结构是中间有一个子视图控制器,因此外部滚动视图包含一个子视图控制器,后者又包含内部滚动视图)。
答案 0 :(得分:0)
Apple肯定不会阻止UIScrollView中的UIScrollView。它实际上在文档中:
您的应用程序不需要做任何事情来支持嵌套滚动。它默认支持并提供。
如果要从滚动中禁用父滚动视图,您可以发送来自子项的通知,并在父项中设置isScrollEnabled
。