UIPinchGestureRecognizer 禁用双指张开

UIPinchGestureRecognizer Disable Pinch Out

我在滚动视图中添加了捏合手势识别器,用它来关闭模态视图控制器。我是这样做的:

UIPinchGestureRecognizer *closePinch = [[UIPinchGestureRecognizer alloc] initWithTarget:self action:@selector(closeGallery)];
[galleryScrollView addGestureRecognizer:closePinch];

虽然它被添加到一个滚动视图中,但我实际上并没有使用它来缩放只是为了关闭视图。因此,我不需要捏合手势,因为它表示放大。

有没有办法轻松禁用手势识别器的张开部分并保持捏合不受影响?

根据 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
    }
}

您应该在 UIGestureRecognizerDelegate

中实施 -gestureRecognizerShouldBegin:

recognizer传入的参数中有velocity 属性,可以判断是捏合还是捏合,return YES or [=结果是 14=]。