1

たくさんの検索ボックスを手に入れました。検索ボックスの下にテーブルビューがあります。

ユーザーがテーブルビュー (または検索ボックス以外のもの) をクリックすると、検索ボックスのファーストレスポンダーのステータスが失われます。

ただし、tableview にはタッチアップ アクションがありません。

そこで、テーブルビューの後ろに大きなボタンを追加します。タッチアップ イベントが大きなボタンで処理されることを期待して。

テーブルビューがテーブルビューを完全にカバーしていることを考えると、これは機能しません。

それで、私は何をすべきですか?

4

1 に答える 1

1

searchDisplayController を使用するのか、単に searchBar を使用するのかわかりません。ただし、searchDisplayController を使用する場合は、デリゲート メソッドを実装できます。

-(void)searchDisplayControllerWillEndSearch:(UISearchDisplayController *)controller

ユーザーがキャンセルまたは透明なビュー (空の検索) をクリックすると呼び出されます。

ケースを回避する別の方法は、bool を設定して、検索ボックスがレスポンダーを保持しているかどうかを確認することです (検索がレスポンダーを取得するときに設定します)。そして、cellForRowAtIndexPath で、その値を確認し、resignFirstResponder と値を false に設定します。

この助けを願っています

更新: searchDisplayController を使用したApple のサンプル コード

于 2011-08-03T00:57:57.653 に答える