我对触摸处理的理解是,当触摸视图时,如果它本身不处理触摸,它会“触摸”视图层次结构,直到它们被处理,或者你处于顶部并且它们被丢弃了。 (实质上,它是递归;它将触摸交给他们的子视图,此时调用相同的'向上'方向函数将其向上传递。)
我在一个奇怪的情况下,UIScrollView - 它应该拦截并处理来自它的孩子的任何和所有触摸 - 似乎正在拦截放置在它顶部的UIImageView的触摸。删除滚动视图,并触摸正常工作。问题是,有问题的UIImageView不是UIScrollView的子代;这是一个兄弟姐妹。
所以我的问题变成了双重的问题:首先,我如何阻止它“偷”这些触摸,第二,它怎么能在一开始就偷它们?
答案 0 :(得分:3)
尝试在UIImageView上将userInteractionEnabled
设置为YES。如果userInteractionEnabled
设置为NO(应该是UIImageView的默认值),则触摸将传递给它下面的对象 - UIScrollView。