UISearchBar を searchString でプリロードしようとしています。
現在のセットアップでは。UITableViewController で UISearchDisplayController を使用しています。
私が使用する最初のアプローチは、次のメソッドで検索文字列を設定することです。
- (void) presetSearchDisplayControllerWithString:(NSString*)searchString{
[self.searchDisplayController setActive:YES animated:NO];
[self.tableView setContentOffset:CGPointMake(0, 0)];
self.searchBar.text = searchString;
self.searchFetchedResultsController = [self createFetchedResultsControllerWithSearchTerm:searchString];
}
できます。UISearchbar には検索文字列が表示され、元の tableView と TableViewIndex は非表示になります。しかし、searchBar のキャンセル ボタンを押すと、クラッシュします。
* -[UISearchDisplayController setActive:animated:]、/SourceCache/UIKit_Sim/UIKit-2372/UISearchDisplayController.m:682 でのアサーションの失敗 キャッチされていない例外 'NSInternalInconsistencyException' が原因でアプリを終了しています。
2番目のバリアンも機能していません
- (void) searchDisplayControllerDidBeginSearch:(UISearchDisplayController *)controller {
[self.searchDisplayController.searchBar setText:@"rune"];
}
検索バーをタップすると機能します。ただし、完了するまでは、通常の tableView のみが表示されます。