0

私は持ってUINavigationControllerいますUIPanGestureRecognizer

MyNavController.m
...

menuGesture.delegate = self;
[self.view addGestureRecognizer:menuGesture];

それはうまく機能しますUIPanGestureRecognizerが、topViewControllers. 試してみself.view.gestureRecognizers = nilましたが、うまくいきませんでした。

4

3 に答える 3

0

このようにしてみてください:UINavigationControllerにはメソッドがあります

- (void)removeGestureRecognizer:(UIGestureRecognizer *)gestureRecognizer
于 2013-10-07T15:57:39.280 に答える
0

コントローラーに追加したジェスチャ認識エンジンを有効/無効にする必要がある場合、1 つのアプローチは、プロパティを介してそのジェスチャ認識エンジンを公開し、それを自由に有効/無効にすることです。

@property(nonatomic, assign/weak) UIPanGestureRecognizer* myGestureRecognizer;

...

[(MyNavController*)myController.navigationController myGestureRecognizer].enabled = NO;

(もちろん、menuGestureこれが機能するために myGestureRecognizer に保存されます)。

于 2013-10-07T15:53:59.267 に答える
0

UIGestureRecognizerDelegate にサブスクライブしてから、gestureRecognizer:shouldReceiveTouchでジェスチャを許可するかどうかを決定します。

于 2013-10-07T15:55:52.857 に答える