使用 UISearchDisplayController displaysSearchBarInNavigationBar 时导航栏项目消失
Navigation bar items disappear when using UISearchDisplayController displaysSearchBarInNavigationBar
如何将搜索栏嵌入导航栏项目?
我使用了 [searchBar sizeToFit]
但它没有用,而且没有使用 displaysSearchBarInNavigationBar
单击搜索栏时导航栏消失了。
我在 UISearchDisplayController 中尝试了答案 UISearchDisplayController hiding navigation bar
-(void)viewDidLayoutSubviews{
[self.navigationController setNavigationBarHidden:NO animated:NO];
}
但这会导致 UISearchDisplayController searchResultsTableView
在隐藏搜索栏的同时显示在导航栏下方。
我尝试使用以下方法修改 resultsTableView 框架尺寸,同时导航栏中没有搜索栏,即 self.searchDisplayController.displaysSearchBarInNavigationBar = NO
,但这导致在编辑模式下取消时出现问题。这取自 Moving SearchBar table view
- (void)searchDisplayController:(UISearchDisplayController *)controller didShowSearchResultsTableView:(UITableView *)tableView{
CGRect s = self.searchDisplayController.searchBar.frame;
CGRect newFrame = CGRectMake(0,
s.size.height,
s.size.width,
s.size.height*[filteredList count]);
tableView.frame = newFrame;
}
然后我从 this 线程
中找到了更好的解决方案
并且仅在 viewDidLoad
中使用 [self.searchDisplayController.navigationItem setLeftBarButtonItem: self.sidebarButton]
它解决了我的问题。现在剩下的是如何根据内容设置 searchResultsTableView 框架大小,但这是另一个问题。 :)
如何将搜索栏嵌入导航栏项目?
我使用了 [searchBar sizeToFit]
但它没有用,而且没有使用 displaysSearchBarInNavigationBar
单击搜索栏时导航栏消失了。
我在 UISearchDisplayController 中尝试了答案 UISearchDisplayController hiding navigation bar
-(void)viewDidLayoutSubviews{
[self.navigationController setNavigationBarHidden:NO animated:NO];
}
但这会导致 UISearchDisplayController searchResultsTableView
在隐藏搜索栏的同时显示在导航栏下方。
我尝试使用以下方法修改 resultsTableView 框架尺寸,同时导航栏中没有搜索栏,即 self.searchDisplayController.displaysSearchBarInNavigationBar = NO
,但这导致在编辑模式下取消时出现问题。这取自 Moving SearchBar table view
- (void)searchDisplayController:(UISearchDisplayController *)controller didShowSearchResultsTableView:(UITableView *)tableView{
CGRect s = self.searchDisplayController.searchBar.frame;
CGRect newFrame = CGRectMake(0,
s.size.height,
s.size.width,
s.size.height*[filteredList count]);
tableView.frame = newFrame;
}
然后我从 this 线程
中找到了更好的解决方案并且仅在 viewDidLoad
中使用 [self.searchDisplayController.navigationItem setLeftBarButtonItem: self.sidebarButton]
它解决了我的问题。现在剩下的是如何根据内容设置 searchResultsTableView 框架大小,但这是另一个问题。 :)