0

私のプロジェクトに20以上のビューコントローラーがあり、グローバルviewcontrollerクラスでスワイプジェスチャーが追加されました。UIビューのスワイプジェスチャーが目的のCのtableviewと競合します

UISwipeGestureRecognizer *rightSwipeGesture = [[UISwipeGestureRecognizer alloc]initWithTarget:self action:@selector(navigateToPreviousScreen:)]; 
rightSwipeGesture.cancelsTouchesInView = YES; 
rightSwipeGesture.direction = UISwipeGestureRecognizerDirectionRight; 
[self.view addGestureRecognizer:rightSwipeGesture]; 

そして、すべてのサブクラスをオーバーライド

- (void)navigateToPreviousScreen:(UISwipeGestureRecognizer *)sender { 

[self.navigationController popViewControllerAnimated:YES];} 

今私は問題(ではない正確に問題を)持って、viewcontrollersのいくつかはtableviewsとそのスワイプを持って、時には動作していないが(また、いくつかのタッチを持って敏感な問題)。それを解決する方法はありますか?私はcancelsTouchesInView = Noを設定しましたが、問題が発生しているようです。

ありがとうございました。

答えて

0

親クラスの次のUIGestureRecognizerDelegateメソッドでYESを返す&を実装することで、この問題を解決できるはずです。

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

ありがとうございます。親クラスのメソッドを追加しました。問題を解決したようです。 – Gopi

+0

これが解決すれば、この答えを正しいとマークする必要があります。 – Xcoder

+0

申し訳ありません。今私はそれをやった。 – Gopi

関連する問題