我已将我的导航栏隐藏在我的表视图控制器中,但在选择搜索栏然后使用取消将其解除后,它再次显示导航栏.我试过了
-(void)searchBarTextDidEndEditing:(UISearchBar *)searchBar {
self.navigationController.navigationBar.hidden = YES;
}
Run Code Online (Sandbox Code Playgroud)
但它不起作用,它确实隐藏了导航栏的细节视图,但这不是所希望的.
在storyboard中我有一个tabBarController - > navigationController - > tableView - > detailview.
编辑:
我的代码:
-(BOOL)searchDisplayController:(UISearchDisplayController *)controller shouldReloadTableForSearchString:(NSString *)searchString
{
[self filterContentForSearchText:searchString
scope:[[self.searchDisplayController.searchBar scopeButtonTitles]
objectAtIndex:[self.searchDisplayController.searchBar
selectedScopeButtonIndex]]];
return YES;
}
- (void)filterContentForSearchText:(NSString*)searchText scope:(NSString*)scope
{
NSPredicate *resultPredicate = [NSPredicate predicateWithFormat:@"name contains[c] %@", searchText];
searchResults = [_truckArray filteredArrayUsingPredicate:resultPredicate];
}
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
if (tableView == self.searchDisplayController.searchResultsTableView) {
return 1;
} else {
return [_sectionTitles count];
}
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
if (tableView == self.searchDisplayController.searchResultsTableView) …Run Code Online (Sandbox Code Playgroud)