ジェスチャを無効にする必要がある特定のビューを備えたマスター詳細テンプレートアプリケーションがあります(特に、UISplitViewControllerの下のテーブルビューが起動するため、右にスワイプします)。ビューのViewDidLoadに次のコードスニペットを追加しましたが、上/下/右/左のスワイプをうまく処理しているようです。問題は、下/左から上/右または上/左から下/右のいずれかの斜めの動きが、ある種のジェスチャに対して発火し、時々テーブルビューを表示することです。動きが遅い場合はそうではありませんが、斜めの動きが速い場合は、ビューの描画アクションが中断されます。
- (void)viewDidLoad {
[super viewDidLoad];
UISwipeGestureRecognizer * recognizerR = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(swipeRight:)];
recognizerR.direction = UISwipeGestureRecognizerDirectionRight;
recognizerR.cancelsTouchesInView = NO;
recognizerR.delegate = self;
[self.view addGestureRecognizer:recognizerR];
}
私はIOS/Obj Cプログラミングに少し慣れていないので、我慢してください。