我的观点面临着一个复杂的问题,我会尽量明确和具体,如果有什么不清楚,请说出来。
我有一个包含更大视图的ScrollView(ContentView)。我希望这个ScrollView使用两个(或更多)手指滑动滚动。在contentView中,我有几个名为barView的自定义视图实例。这些barview与uisliders类似,但有一些自定义。为了能够滑动这些barviews,我使用“touchesMoved”方法来跟踪触摸。但是每当我想使用多点触控滑动滚动视图时,它也会触发barviews上的方法。如何防止多点触控滑动操纵barviews?
提前多多感谢!
答案 0 :(得分:0)
您可以使用PanGestureRecognizers跟踪barViews上的触摸。设置时,请设置:
[panGestureRecognzer requireGestureRecognizerToFail:scrollViewSwipeGestureRecognizer]
这可确保只有当滚动视图上的滑动手势失败时,条形图视图上的gestureRecognizers才会触发。
或者,如果您的scrollView仅在使用2个手指时滚动,则可以将以下内容添加到barView的touchesMoved方法中:
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{
if ([touches count] > 1)
return;
/...
}