【发布时间】:2014-01-31 01:03:35
【问题描述】:
这是发生了什么:
用户点击搜索,看到如下图:
然后用户开始输入一个术语,一旦发生,导航栏就会消失。您在此处看到的是附加了导航栏的空白区域。我已经尝试了一切,但无法弄清楚它为什么会这样做。并且没有 ViewController 不是 NavigationController 的根视图(没有 UINavigationController)。
这是我的搜索委托的相关代码:
- (void)filterContentForSearchText:(NSString*)searchText scope:(NSString*)scope
{
if ([searchText length] == 0)
{
[self.aTableView reloadData];
return;
}
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF.title contains[cd] %@ OR SELF.summary contains[cd] %@", searchText, searchText];
mFilteredArray_ = [[self.parseResultsCanadaSection filteredArrayUsingPredicate:predicate] copy];
[self.aTableView reloadData];
}
#pragma mark - UISearchDisplayController delegate methods
-(BOOL)searchDisplayController:(UISearchDisplayController *)controller
shouldReloadTableForSearchString:(NSString *)searchString
{
[self filterContentForSearchText:searchString
scope:[[self.searchDisplayController.searchBar scopeButtonTitles]
objectAtIndex:[self.searchDisplayController.searchBar
selectedScopeButtonIndex]]];
return YES;
}
- (void)searchDisplayControllerDidBeginSearch:(UISearchDisplayController *)controller {
}
- (void)searchBarCancelButtonClicked:(UISearchBar *)searchBar {
mFilteredArray_ = nil;
[self.aTableView reloadData];
}
- (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText {
mFilteredArray_ = nil;
[self.aTableView reloadData];
}
【问题讨论】:
标签: ios uinavigationcontroller uinavigationbar uisearchbar uisearchdisplaycontroller