2012-04-02 174 views
2

我有一個按住手勢。在按住期間,我想在屏幕上的其他地方檢測單擊。問題是,當我開始在屏幕上的其他地方點擊時,按住手勢會中斷,並且不會調用「修改」功能。有沒有辦法在別的地方繼續按住按鈕?iOS按住手勢+點擊

+0

是否 「elswhere在屏幕上」 意味着對不同意見或相同的觀點?從您描述的症狀看,它與具有多個(至少2個)UIGesture識別器的UIView相同。那是對的嗎? – 2012-04-02 08:35:49

+0

同一視圖。你是對的。它有多個手勢。 – user1120008 2012-04-02 16:10:57

回答

2

UIKit提供了多種機制來使多個UIGestureRecognizers 在同一個UIView並排工作。哪些和如何完全取決於您的需求和配置 。

一是- (void)requireGestureRecognizerToFail:(UIGestureRecognizer *)otherGestureRecognizer

然而,對於你的情況,你必須採取UIGestureRecognizerDelegate協議在您的視圖。

然後你應該實施gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer:方法。

例如:

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer 
{ 
    return YES; 
} 

不要忘記將它getureRecognizersUIView一個delegate的。

一些參考:

UIGestureRecognizer Class Reference

UIGestureRecognizerDelegate Protocol Reference

Event Handling Guide for iOS