0

UISearchDisplayControllerを備えたUISearchBarの場合、検索フィールドをクリックすると、キーボードが表示され、テーブルビューの上にオーバーレイが表示されます。キャンセルをクリックすると

- (void)searchBarCancelButtonClicked:(UISearchBar *)searchBar

と呼ばれます。

オーバーレイがクリックされたときに呼び出されるメソッドがあるかどうか疑問に思います。キーボードを閉じて、テーブルビューに戻ります。基本的に、このオーバーレイをクリックして、キャンセルをクリックしたときと同じ方法で実行させたいと思います。何か案は?Apple Docsを確認したところ、キャンセルボタン方式以外は見つかりませんでした。

4

2 に答える 2

1

*キャンセル:[self.searchDisplayController setActive:NO]; ToMfromTOの答えのようにtouchesBegin内に実装します。

于 2013-02-05T00:09:12.820 に答える
1
  1. UISearchDisplayControllerをサブクラス化し、touchesBeganメソッドからこのcancelメソッドを呼び出すことができます。

    - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
    
  2. UITapGestureRecognizerをoverlayViewに割り当てることができます。

于 2013-02-05T00:13:26.600 に答える