我已经在滚动视图中添加了捏手势识别器,使用它来关闭模式视图控制器。我这样做是这样的:
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
}
}
最佳答案
您应该在-gestureRecognizerShouldBegin:
中实现UIGestureRecognizerDelegate
传入参数中的识别器中有一个velocity
属性,因此您可以检查它是缩小还是缩小,然后返回YES
或NO
。
关于ios - UIPinchGestureRecognizer禁用捏出,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32798873/