8

新しいiOS 7 UINavigationControllerには、ビューを切り替えるためのスワイプジェスチャーがあります。 ジェスチャーを検出または傍受する方法はありますか?iOS 7 uinavigationcontrollerスワイプを検出する方法は?

+2

「私はそれを無効にしません。あなたは "いたずら"されているように聞こえるようにします –

+0

これは単に「私がuinavigationcontrollerでスワイプジェスチャーを無効にする方法」に関する似たような話題を読んだからです。だから私は明確になりたかった^^ – Steven

答えて

27

対話型ポップジェスチャ認識機能は、UINavigationControllerinteractivePopGestureRecognizerプロパティによって公開されています。あなたは、ジェスチャー認識の対象として独自のコントローラを追加し、適切に対応することができます:ここで

@implementation MyViewController 

... 

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

    [self.navigationController.interactivePopGestureRecognizer addTarget:self 
                    action:@selector(handlePopGesture:)]; 
} 


- (void)handlePopGesture:(UIGestureRecognizer *)gesture 
{ 
    if (gesture.state == UIGestureRecognizerStateBegan) 
    { 
     // respond to beginning of pop gesture 
    } 
    // handle other gesture states, if desired 
} 

... 

@end 
+0

パーフェクト!それは私があなたに感謝したことです。 – Steven

7

はスウィフトに、Austin's answerあります。 this postを使用してセレクタを構築すると、以下のことがわかりました。

override func viewDidLoad() { 
    super.viewDidLoad() 
    self.navigationController?.interactivePopGestureRecognizer?.addTarget(self, action:#selector(self.handlePopGesture)) 
} 

func handlePopGesture(gesture: UIGestureRecognizer) -> Void { 
    if gesture.state == UIGestureRecognizerState.Began { 
     // respond to beginning of pop gesture 
    } 
} 
+0

これは私のために応答していない...私はちょうどジェスチャー認識で "こんにちは"を印刷したい –

関連する問題