【发布时间】:2015-03-04 07:31:57
【问题描述】:
如何在导航栏项目中嵌入搜索栏?
我使用了[searchBar sizeToFit],但没有使用displaysSearchBarInNavigationBar,导航栏在单击搜索栏时消失。
我在 UISearchDisplayController UISearchDisplayController hiding navigation bar 中尝试了答案
-(void)viewDidLayoutSubviews{
[self.navigationController setNavigationBarHidden:NO animated:NO];
}
但它会导致UISearchDisplayController searchResultsTableView 显示在导航栏下方,同时隐藏搜索栏。
【问题讨论】:
-
我使用here的答案解决了这个问题,即使用
[tableView setFrame:CGRectMake(0, 42, 320, 380)];,但是现在它与其他iOS设备不兼容并且当搜索栏中有数据时取消按钮不起作用的问题。其他人有什么建议吗? -
我用
CGRectMakeCGRect s = self.searchDisplayController.searchBar.frame; CGRect newFrame = CGRectMake(0, s.size.height, s.size.width, s.size.height*[filteredList count]); tableView.frame = newFrame;尝试了另一种方法,但取消按钮问题仍然存在,现在即使使用[tableview reload],实时搜索行也不会更新。
标签: ios7 uinavigationbar uisearchbar uisearchdisplaycontroller