我有一个UIScrollView
,它正在做一些自定义缩放。为此,我子类化了UIScrollView
,覆盖了触摸方法touchesBegan
, touchesMoved
和touchesEnded
。
当我尝试添加一系列UIView子视图时,我只能在UIView
UserInteractions
设置为NO
时检测我的UIScrollView
上的水龙头。我希望能够继续检测两个手指点击我的UIScrollView
, 和一个手指点击任何我的UIView子视图。
这可能吗?
我已经尝试了无数的方法,几乎没有帮助。有人有这方面的经验吗?
欢呼,布雷特
苹果关于UIScrollView的文档解释了它是如何做到的:
它通过启动计时器来临时拦截触地事件,并在计时器触发之前查看触地手指是否有任何移动。如果计时器触发时位置没有明显变化,则滚动视图将跟踪事件发送到内容视图的触摸子视图。如果用户在计时器结束前将手指拖到足够远的地方,那么滚动视图将取消子视图中的任何跟踪,并自己执行滚动。
有一对夫妇的方法拦截给出作为回答这个问题:如何使父视图拦截按钮触摸事件?
任何带有userInteractionEnabled的UIView都会阻止触摸到达它下面的视图。您可能需要重新考虑如何构建您的布局。或者创建UIView的子类来改变它处理触摸的方式