2

UIButton次のような内部ビューがあります:スナップショット 01 http://imageshack.us/a/img827/7240/screenshot20130220at333.png

ボタンは次のものにバインドされていIBActionます。

-(IBAction)deleteButtonPressed :(id)sender{
    NSLog(@"DeleteButtonPressed");
}

最後のビューのコレクションを表示する別のビューもあります。スナップショット 02

このビューのコントローラーでは、ある時点でこれがあります:

    UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapAction:)];
    tapGesture.numberOfTapsRequired = 1;
    tapGesture.numberOfTouchesRequired = 1;
    [preview addGestureRecognizer:tapGesture];

この:

- (void)tapAction:(UIGestureRecognizer *)gestureRecognizer{

    EditorViewController *vc = [self.storyboard instantiateViewControllerWithIdentifier:@"EditorViewController"];
    vc.narration = preview.narration;
    self.navigationItem.backBarButtonItem.style = UIBarButtonItemStylePlain;
    self.navigationItem.backBarButtonItem.title = @"Done";
    vc.navigationItem.backBarButtonItem.style = UIBarButtonItemStylePlain;
    vc.navigationItem.backBarButtonItem.title = @"Done";
    [self.navigationController pushViewController:vc animated:YES];
}

そのため、プレビューでタッチすると、別のビューが読み込まれます。ボタンをタップすると問題が発生します。この場合、関数-(IBAction)deleteButtonPressed: (id)senderは実行されませんが、実行されtapActionます。また、押している間ボタンが変わります。GestureRecognizer を追加しないようにしました-(IBAction)deleteButtonPressed :(id)senderが、実行されました。

私が間違っていることは何ですか?ボタンをタップすると、下のビューがジェスチャをキャプチャしないようにするにはどうすればよいですか?

4

1 に答える 1

3

shouldReceiveTouchメソッド (UIGestureRecognizerDelegateプロトコルの一部)を実装する必要があります。

問題の詳細については、こちらをご覧ください:

ジェスチャー認識エンジンとボタン アクション

于 2013-02-20T16:22:14.817 に答える