3

iOS5 / 5.1でアプリをテストするときに、少し問題が発生します。ボタンを押しただけのIBActionが呼び出されないだけです。ジェスチャー認識機能が原因である可能性があることをどこかで読みました。ユーザーが画面のどこかをタップするとキーボードを閉じるこのコードがありますが、これが原因である可能性があります。別の画面にも同様のコードがありますが、同様にバグがあるかどうかを確認するために到達することさえできません。

UITapGestureRecognizer *tapRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleSingleTap:)];
[tapRecognizer setDelegate:(id)self];
[tapRecognizer setNumberOfTapsRequired:1];
[self.view addGestureRecognizer:tapRecognizer];

そしてここに関数があります。

- (void)handleSingleTap:(UITapGestureRecognizer *)recognizer
{
    [self.searchBar resignFirstResponder];
}

タップでキーボードを閉じる機能を失うことなく、このグリッチの発生を防ぐにはどうすればよいですか?

よろしく、マイク。

4

1 に答える 1

4

ジェスチャレコグナイザはタップを認識しているため、ジェスチャレコグナイザが接続されているビューのサブビューであるボタンにタップを配信していませんか?呼び出されたら、ジェスチャレコグナイザーを削除してみてくださいhandleSingleTap

于 2012-11-30T23:40:23.507 に答える