UISearchBar在iOS 7中隐藏视图

时间:2013-10-17 15:33:26

标签: ios uitableview ios7 uisearchbar

当我在UITearchBar上启动搜索时,UISearchBar是UITableView的子项,除了UITableView之外的任何其他视图都会被隐藏。此问题仅发生在iOS 7上。我没有任何隐藏其他视图的特定代码。

enter image description here

enter image description here

enter image description here

enter image description here

2 个答案:

答案 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;