2011-07-19 6 views
1

私はたくさんの検索ボックスを持っています。検索ボックスの下にはテーブルビューがあります。nextResponderを変更できますか?

ユーザがテーブルビュー(または検索ボックスの外にあるもの)をクリックすると、検索ボックスに最初のレスポンダステータスが表示されなくなります。

ただし、テーブルビューには修正が反映されていません。

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

テーブルビューがテーブルビューを完全にカバーすると仮定すると、これは機能しません。

どうすればよいですか?

答えて

1

searchDisplayControllerを使用するのか、searchBarだけを使用するのかはわかりません。しかし、あなたはsearchDisplayControllerを使用する場合には、デリゲートメソッドユーザーのクリックをキャンセルしたときに呼び出されます

-(void)searchDisplayControllerWillEndSearch:(UISearchDisplayController *)controller 

や透明ビュー(空の検索)を実装することができます。

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

・ホープ、このヘルプ

更新:Appleのsample codeはsearchDisplayController

+0

を使用して、私はsearchDisplayControllerが正しいことをサブクラス化する必要がありますことを考えるとそのsearchDisplayControllerを使用する方法がかなり確実ではないのですか? –

+0

デリゲートメソッドを実装し、必要に応じてデリゲートメソッドを実装し、IBでsearchDisplayControllerをドラッグして接続することができます。余分な機能を持っている以外は検索バーとほとんど同じです – REALFREE

関連する問題