2013-05-06 91 views
0

在IOS 6中,如何添加只能檢測一次的PinchGesture?ios:pinchGesture只發生一次

我有我添加到pinchGesture一個UIView:

[self addPinchGestureRecognizersToView:self.view]; 

然後附上一個函數來此捏調出一個UIView。問題是當我捏,事件發生幾次,使ViewController多次添加子視圖取決於事件發生的次數。

那麼,我怎麼能真正限制它只是一次或刪除它在檢測到一個捏。我試過了:

[self.view removeGestureRecognizer:UIPinchGestureRecognizer]; 

但是我得到了編譯錯誤。

+2

爲什麼你不能只保留一次事件調用的次數? – Ushan87 2013-05-06 08:25:21

+0

什麼是錯誤? – CRDave 2013-05-06 09:02:52

回答

0

你應該知道捏手勢是一個連續的手勢。也就是說,在觸摸過程中可以多次識別。

如果您只想識別一次,可以在第一次識別時將其刪除。你得到一個編譯錯誤的原因是你應該'記住'你的手勢並在以後刪除它。

1

感謝您的所有建議。我只是想到了最簡單的解決方案 - 添加一個BOOLEAN來檢查。其餘的工作就像一個魅力。

0

[self.view removeGestureRecognizer:UIPinchGestureRecognizer];

此方法調用無效。 UIPinchGestureRecognizer是一個類不是實例。您必須用您添加的正確識別器替換它。

for (UIGestureRecognizer* recognizer in [self.view.gestureRecognizers copy]) { 
    if ([recognizer isKindOfClass:[UIPinchGestureRecognizer class]]) { 
     [self.view removeGestureRecognizer:recognizer]; 
    } 
}