2015-09-26 76 views
1

我添加了一個捏手勢識別器滾動視圖,使用它來關閉模式視圖控制器。我這樣做:UIPinchGestureRecognizer禁用捏出

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

回答

1

你應該在你UIGestureRecognizerDelegate

實施-gestureRecognizerShouldBegin:有在參數中傳遞的識別器velocity屬性,因此您可以檢查它是否夾入或放出,並因此返回YESNO

+0

工程就像一個魅力,謝謝。我還根據你的答案向我的問題添加了代碼。 –