私はUISearchControllerとUITableViewを持っています。 UISearchController dimsBackgroundDuringPresentationは検索テキストが空の場合のみ
self.searchController = [[UISearchController alloc] initWithSearchResultsController:nil];
self.searchController.searchResultsUpdater = self;
self.searchController.dimsBackgroundDuringPresentation = YES;
[self.searchController.searchBar sizeToFit];
self.searchController.searchBar.delegate = self;
self.searchController.delegate = self;
self.tableView.tableHeaderView = self.searchController.searchBar;
self.tableView.userInteractionEnabled = YES;
は私が検索バーをタップするたびグレービューが登場することにしたいと私は入力を開始するとき、グレー表示が消え、のtableViewはので、私はセルをタップすることができますを示しています。 のviewDidLoadでのコードです。 Thatsは、検索バーが空の場合にのみ灰色の表示が表示されることを意味します(メールと連絡先アプリのデフォルトの検索動作と同様)。私はsearchBar.text
-(void)searchBarTextDidBeginEditing:(UISearchBar *)searchBar
に基づいてデリゲートメソッドで
self.searchController.dimsBackgroundDuringPresentation
を設定しようとしましたが、それは動作しません。 アイデア
ありがとう、
これは、dimsBackgroundDuringPresentationがどのように機能するかを示しています。あなたはどのようにuisearchcontrollerを実装していますか?それは検索結果を鈍らせるだけではありません。あなたはおそらく何かを提示していないようです。 – beyowulf
私はUISearchControllerのために何をしたのですか?それ以外はすべてテーブルビューで実装されています。(void)updateSearchResultsForSearchController:(UISearchController *)searchController は、検索テキストに基づいてtablaビューをリロードします。私がする必要があることは他に何かありますか? – Missa
残念ながら、それはそれより複雑です。テーブルビューのデータソースを検索し、検索結果を見つけてユーザーに提示する必要があります。あなたはここでそれを行う方法に関するチュートリアルを見つけることができます:http://www.jhof.me/simple-uisearchcontroller-implementation/ – beyowulf