如下图所示,我的应用程序有几个UIViews,B
,C
和D
,并排,并且所有包含在包封的UIView A
:检测手势上重叠的屏幕区域中的iOS5
我在B
,C
和D
的每一个中都有UIPinchGestureRecognizer
。我还想做的是在整个区域A
(不妨碍其他手势识别器工作)上识别不同的手势。
这是最好的策略是什么?我针对的是iOS5 +,无需向后兼容。
还值得注意的是,A
的手势识别器可能必须是自定义手势识别器,因为我想检测一个捏,但涉及> 2个手指。
思想:
如果安装了A
手势识别器无法正常工作,有可能通过使用touchesBegan
等作为UIResponder
docs笔记做旧的方式,你可以有一个子类UIView
只需拨打[super touchesBegan:touches withEvent:event]
即可让其在响应者链中传递,如果您对此触摸不感兴趣。
感谢您的回答。点击测试哪些组件/代码?使用哪种技术? (如touchesBegan等)? – occulus 2012-04-16 07:45:47
我没有可以发布的代码,但我会尽力解释。 使用Touches作为初始触摸识别,并将GestureRecognizes用作识别组件内部触摸的辅助处理程序。 初次触摸打击测试整个屏幕。循环遍历所有元素,并找出它们中的哪些位于触摸的坐标中。所以如果你触摸B,循环应该找到B和A,因为二者都在接触坐标内。然后,您可以禁用/启用冲突的GestureRecognizes,并在手势完成后启用它们。 – 2012-04-16 11:05:51