我尝试添加对先前通过分段控件访问的视图之间水平滚动的支持(让我们称之为#34;页面")。问题是,将它们作为子视图放在滚动视图中是不容易实现的,因为已经存在相当复杂的层次结构和动画。
相反,滚动视图用作这些页面的不可见叠加层。移动时,其(也是不可见的)子视图用于确定页面的帧。到现在为止还挺好。但滚动视图窃取了所有的触摸!即使是每页支持的垂直滚动也会丢失。
我尝试过摆弄hitTest:withEvent:
和touchesBegan:withEvent:
,touchesMoved:withEvent:
,touchesEnded:withEvent:
而没有任何有用的结果。
有没有办法让UIScrollView
处理水平滚动,但是通过垂直滚动和所有非滚动/滑动触摸?我唯一不愿意选择的方法是通过继承UIWindow
将触摸事件直接发送给听取它们的人。 (看起来像是一种矫枉过正的恶意)解决方案必须适用于iOS 6.0。
谢谢。