iOS手势识别器NumberOfTouchs返回错误号码
我有一个UIScrollView(画布),上面有更小的UIView(注释)。每个小音符都有一个平移手势处理程序。我在滚动画布上启用了双指滚动。当两次触摸都在画布上而不是笔记上时,双指滚动就可以工作。但是,当一个或两个触摸都位于较小的UIView(note)上时,note手势处理程序将触发,而不是双指滚动。我希望获得以下经验: 如果有两个触摸屏-->滚动 如果单触平移并触摸便笺-->激发便笺触摸手势处理程序(&T) 编辑 自定义UIScrollView hitTest不会返回正确的触摸次数。代码:iOS手势识别器NumberOfTouchs返回错误号码,ios,uiscrollview,event-handling,uigesturerecognizer,Ios,Uiscrollview,Event Handling,Uigesturerecognizer,我有一个UIScrollView(画布),上面有更小的UIView(注释)。每个小音符都有一个平移手势处理程序。我在滚动画布上启用了双指滚动。当两次触摸都在画布上而不是笔记上时,双指滚动就可以工作。但是,当一个或两个触摸都位于较小的UIView(note)上时,note手势处理程序将触发,而不是双指滚动。我希望获得以下经验: 如果有两个触摸屏-->滚动 如果单触平移并触摸便笺-->激发便笺触摸手势处理程序(&T) 编辑 自定义UIScrollView hitTest不会返回正确的触摸次数。代码:
- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event{
NSSet *touches = [event touchesForView:self];
if ([touches count] > 1)
return self;
UIView *usualView = [super hitTest:point withEvent:event];
return usualView
}
您是否检查了hitTest方法以查看触摸的返回视图是什么?我检查了。如果某个触按位于noteview下,hittest将返回该noteview(即使我有两个触按)。如果NumberOfTouchs>1,我将尝试返回滚动视图。但它不会返回任何接触!请参见上面的编辑。