当我在UITearchBar上启动搜索时,UISearchBar是UITableView的子项,除了UITableView之外的任何其他视图都会被隐藏。此问题仅发生在iOS 7上。我没有任何隐藏其他视图的特定代码。
答案 0 :(得分:3)
为了解决这个问题,我首先要弄清楚问题。
当文本输入到UISearchBar时,它会创建一个位于父视图顶部的UITableView。 要显示隐藏的父视图,创建的UITableView必须偏移并调整大小以适应较小的区域。
(void)searchDisplayController:(UISearchDisplayController *)controller didShowSearchResultsTableView:(UITableView *)tableView {
// The tableView the search tableView replaces
CGRect f = self.mainTableView.frame;
CGRect s = self.searchDisplayController.searchBar.frame;
CGRect updatedFrame = CGRectMake(f.origin.x,
f.origin.y + s.size.height,
f.size.width,
f.size.height - s.size.height);
tableView.frame = updatedFrame;
}
答案 1 :(得分:0)
尝试在viewDidLoad中为popover UIViewController
添加此内容:
if ([self respondsToSelector:@selector(edgesForExtendedLayout)])
self.edgesForExtendedLayout = UIRectEdgeNone;