UISearchBar 在 iOS 7 中隐藏视图
Posted
技术标签:
【中文标题】UISearchBar 在 iOS 7 中隐藏视图【英文标题】:UISearchBar hides view in iOS 7 【发布时间】:2013-10-17 15:33:25 【问题描述】:当我在作为 UITableView 的子项的 UISearchBar 上启动搜索时,除 UITableView 之外的任何其他视图都将被隐藏。这个问题只发生在 ios 7 上。而且我没有任何隐藏其他视图的特定代码。
【问题讨论】:
【参考方案1】:要找到解决方案,我首先必须找出问题所在。
当文本输入到 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;
【讨论】:
【参考方案2】:尝试在弹出框UIViewController
的viewDidLoad中添加这个:
if ([self respondsToSelector:@selector(edgesForExtendedLayout)])
self.edgesForExtendedLayout = UIRectEdgeNone;
【讨论】:
我试了一下,但我仍然看到相同的结果。但是感谢您的回复,即使您是老鹰队的粉丝……让牛仔们去吧!以上是关于UISearchBar 在 iOS 7 中隐藏视图的主要内容,如果未能解决你的问题,请参考以下文章
UITextfield 在 iOS 7 中不能作为 UISearchBar 的子视图?
UISearchBar 在 iOS 7.1 上添加到 UITableViewCell 时会更改其超级视图
在 tableHeaderView iOS 7 中使用 UISearchBar 访问错误