指示に従うのが難しい。UIView に UISearchBar があります。ユーザーは検索文字列を UISearchBar に入力し、検索アイコンをクリックして検索します。結果は新しいウィンドウ (UITableView) に表示されます。
私の検索は私にこれを示しました:
UISearchDisplayController は UIView から継承されないため、UIView に追加できません。インターフェイス ビルダーで IBOutlet を使用して UISearchBar を追加し、その UISearchBar を使用して UISearchDisplayController をプログラムで作成できます。
たとえば、コードでそれを行うだけです(View Controllerがvcであると仮定): [vc addSubview:mySearchDisplayController.searchBar]; // searchBar はビューであり、mySearchDisplayController は searchBar のみを制御することに注意してください。
そしてこれも:
ビュー コントローラーに UISearchBarDelegate を実装させるだけです。xib ファイルでは、UISearchBar をビューに追加して必要に応じて構成し、アウトレットを作成し (実際には省略可能ですが、明示的にすると役立ちます)、デリゲート アウトレットをビュー コントローラーに割り当てるだけです。次に、検索バー イベントに応答するために、必要に応じて UISearchBarDelegate プロトコル メソッドを実装します。例: - (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar { [self handleSearch:searchBar]; }
(void)searchBarTextDidEndEditing:(UISearchBar *)searchBar { [self handleSearch:searchBar]; }
(void)handleSearch:(UISearchBar *)searchBar { NSLog(@"ユーザーが %@ を検索しました", searchBar.text); [searchBar rejectFirstResponder]; // キーボードを消したい場合 }
(void)searchBarCancelButtonClicked:(UISearchBar *) searchBar { NSLog(@"ユーザーが検索をキャンセルしました"); [searchBar rejectFirstResponder]; // キーボードを消したい場合 }
私はちょうどそれを得ていない !UIView に mySearchController を追加する必要がありますか? または私のUISearchBar?UIView に追加しても、何も起こりません。それを私の UISearchBar に追加すると、アプリケーションが本当にうまくいきます。エラーは発生しません。ハングするだけです。
次に、2 番目の部分であるデリゲートです。UIView にデリゲートを配置する必要がありますか? またはUISearchDisplayControllerで?どの方向に進むべきかわからず、これまでのところ何も機能していません。助けてください。
この時点で本当に必要なのは、handleSearch メソッドを実行することだけです。よろしくお願いいたします。
非常に混乱。