我有一个UIScrollView
来subclassed
来获取触摸事件。 UIScrollView
中有一个UIView,而UIView
又有几个子视图。
所以基本上结构是UIScrollView
> UIView
> UIView's
。
UIView's
已获得tag
,以便检测被点按的视图。
但是,每当我点按touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
时,UIView
都会被触发两次。
可能出了什么问题?
我将此处提到的UIScrollView
子类化:Touches Began。
答案 0 :(得分:0)
我有同样的问题,只有在iPad时,并注意到触摸参数是相同的,例如同
LLDB控制台中的po touches
给了我完全相同的数据,除了视图中的"位置"。
我将此解释为另一个视图转发了该事件,在本例中为主UIWindow
,因此尝试了:
UIWindow *theMainWindow = [[UIApplication sharedApplication] keyWindow];
theMainWindow.gestureRecognizers = 0;
有效。我确认iPhone版本仍能正常工作(使用Pan和Zoom)。