2012-07-12

UISearchBarの検索文字に初期値を設定する

UISearchBarで検索を行う場合、通常は検索バーの初期値が空欄で、ユーザが検索文字を入力します。この挙動を変更して、検索文字の初期値に空文字以外を指定できるようにするのは思いのほか大変でした。

問題は、searchResultsTableViewが正しく表示されないことです。searchBar.text = defaultSearchWord; という処理を、searchBarTextDidBeginEditing: 、searchBarShouldBeginEditing: 、searchDisplayControllerWillBeginSearch: などに記述したのですが、これではsearchResultsTableViewが無効で検索も正しく行われませんでした。
searchDisplayControllerDidBeginSearch: でsearchBar.text を設定してやらないとダメでした。

0 件のコメント: