我有一个 UIScrollView,里面有 UIViews。UIScrollView 启用了两指滚动。每个 UIView 都有一个 panGestureRecognizer。我想要以下功能:
如果是两点触控平移-> 滚动。
如果单点触摸平移 && 触摸 UIView --> 触发 UIView 的 panGestureRecognizer。
我想通过覆盖 UIScrollView 的 hitTest 来做到这一点。如果触摸次数大于 1,则返回 UIScrollView 以可能滚动。如果触摸次数为 1,则返回正常的 hitTest 结果以可能触发 UIView 的 panGestureRecognizer。但是我的 UIScrollView 的 hitTest 代码从来没有任何接触!(虽然我成功的两指滚动,但 hitTest 没有任何接触。)
- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event
{
NSSet *touches = [event touchesForView:self];
NSLog(@"%@", touches);
if ([touches count] > 1)
{
return self;
}
UIView *usualView = [super hitTest:point withEvent:event];
return usualView;
}