我已经添加了一个捏手势识别器到滚动视图,使用它关闭一个模态视图控制器。我是这样做的:
UIPinchGestureRecognizer *closePinch = [[UIPinchGestureRecognizer alloc] initWithTarget:self action:@selector(closeGallery)];
[galleryScrollView addGestureRecognizer:closePinch];虽然它被添加到一个scrollView中,但实际上我并不使用它来缩放以关闭视图。因此,我不需要捏出手势,因为它意味着放大.
是否有一种方法可以很容易地禁用手势识别器的捏出部分,并保持夹入不动?
根据Crazyrems的回答,以下委托方法完成了我所需的任务:
- (BOOL)gestureRecognizerShouldBegin:(UIPinchGestureRecognizer *)gestureRecognizer
{
// Negative velocity indicates pinch out
if (gestureRecognizer.velocity < 0) {
return YES; // <- Register touch event
} else {
return NO; // <- Do not register touch event
}
}发布于 2015-09-28 13:22:16
您应该在您的-gestureRecognizerShouldBegin:中实现UIGestureRecognizerDelegate
在传入参数的识别器中有一个velocity属性,因此您可以检查它是夹入还是夹出,然后返回YES或NO。
https://stackoverflow.com/questions/32798873
复制相似问题