期待していることや起こりたいことを明確にしてください。いくつかのデリゲートメソッドがあります。ここで私は私のSearchBarViewControllerで行うカップルの事です:
まず、私はVCがデリゲートなります(私の検索ボックスがモーダル)閉じる
- (void)viewDidLoad {
searchBar.delegate = self;
}
とビューコントローラを提示して戻る:
- (void)searchBarCancelButtonClicked:(UISearchBar *)searchBar {
[[self presentingViewController] dismissModalViewControllerAnimated:YES];
}
フィルタリング:
- (BOOL)searchDisplayController:(UISearchDisplayController *)controller shouldReloadTableForSearchString:(NSString *)searchString {
[self filterContentForSearchText:searchString scope:
[[self.searchDisplayController.searchBar scopeButtonTitles] objectAtIndex:[self.searchDisplayController.searchBar selectedScopeButtonIndex]]];
// Return YES to cause the search result table view to be reloaded.
return YES;
}
- (BOOL)searchDisplayController:(UISearchDisplayController *)controller shouldReloadTableForSearchScope:(NSInteger)searchOption {
[self filterContentForSearchText:[self.searchDisplayController.searchBar text] scope:
[[self.searchDisplayController.searchBar scopeButtonTitles] objectAtIndex:searchOption]];
// Return YES to cause the search result table view to be reloaded.
return YES;
}
幸運、
Damien
についての詳細を読むことができます。 searchBar.showsScopeBarを設定すると視覚的な効果はありません。 showsScopeBarゲッターはYESを返しますが、スコープバーは表示されません。 – Dustin