UISwipeGestureRecognize が 2 回呼び出されることに問題があります。4 つのタブを持つ tabbarcontroller ベースのアプリケーションを作成しました。そのUIViewControllerの下にUINavigationControllerを持つ各タブには、3番目のタブのコードの下に実装されています。
UISwipeGestureRecognizer *swipeLeft =[[UISwipeGestureRecognizer alloc]
initWithTarget:self action:@selector(didSwipeLeft:)];
swipeLeft.direction=UISwipeGestureRecognizerDirectionLeft;
swipeLeft.numberOfTouchesRequired = 1;
[self.view addGestureRecognizer:swipeLeft];
[swipeLeft release];
- (void) didSwipeLeft:(UISwipeGestureRecognizer *)sender {
NSLog(@"Left..");
if ((sender.state == UIGestureRecognizerStateEnded)) {
[self.tabBarController setSelectedIndex:0];
}
}
シミュレーターで左スワイプを行うと、コントロールがラインに到達すると「didSwipeLeft」が呼び出され[self.tabBarController setSelectedIndex:0]
、関数(didSwipeLeft)が再度呼び出されます。問題を解決する方法を教えてください。同じ問題に直面した人はいますか。前もって感謝します。