私のiPhoneアプリのUIViewControllersの1つに、UIPanGestureRecognizerが接続されているので、ユーザーが左または右にスワイプすると、アプリは1つの画面に進んだり戻ったりします。ただし、問題は、ユーザーが画面を(スワイプではなく)タップしても、画面が進むことです。どうすればこれを防ぐことができますか。以下の関連コードを貼り付けました。
-(void) addGestureRecognizer
{
UIPanGestureRecognizer *pan;
pan = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(swipeRecognized:)];
[pan setMinimumNumberOfTouches:1];
[self.view addGestureRecognizer:pan];
}
-(void) swipeRecognized: (UIPanGestureRecognizer *) recognizer
{
if(recognizer.state != UIGestureRecognizerStateBegan) return;
CGPoint velocity = [recognizer velocityInView:self.view];
if(velocity.x > 0)
{
[self.navigationController popViewControllerAnimated:YES];
}
else
{
@try
{
[self performSegueWithIdentifier:NEXT_STEP_SEGUE sender:self];
}
@catch (NSException *exception)
{
//Silently die...muhaha
}
}
}