touchesBegan在UIScrollView中调用了两次

时间:2014-11-18 13:04:37

标签: ios objective-c iphone uiview uiscrollview

我有一个UIScrollViewsubclassed来获取触摸事件。 UIScrollView中有一个UIView,而UIView又有几个子视图。

所以基本上结构是UIScrollView> UIView> UIView's

UIView's已获得tag,以便检测被点按的视图。

但是,每当我点按touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event时,UIView都会被触发两次。

可能出了什么问题?

我将此处提到的UIScrollView子类化:Touches Began

1 个答案:

答案 0 :(得分:0)

我有同样的问题,只有在iPad时,并注意到触摸参数是相同的,例如同     LLDB控制台中的po touches给了我完全相同的数据,除了视图中的"位置"。 我将此解释为另一个视图转发了该事件,在本例中为主UIWindow,因此尝试了: UIWindow *theMainWindow = [[UIApplication sharedApplication] keyWindow]; theMainWindow.gestureRecognizers = 0;

有效。我确认iPhone版本仍能正常工作(使用Pan和Zoom)。