我有一个带有UITableViewController
的popover作为内容视图控制器。表视图的标题视图为UISearchBar
。
现在,在iOS 6上,当UISearchDisplayController
变为活动状态时,一切都很好看。但是,在iOS 7上,搜索栏上方会有一个额外的空间。
那么如何摆脱iOS 7搜索栏上方的这个额外空间呢?
答案 0 :(得分:25)
解决方法是将edgesForExtendedLayout
的属性UITableViewController
设置为UIRectEdgeNone
。
- (void)viewDidLoad {
[super viewDidLoad];
if ([self respondsToSelector:@selector(edgesForExtendedLayout)]) { /// iOS 7 or above
self.edgesForExtendedLayout = UIRectEdgeNone;
}
}
此属性的值为UIRectEdgeAll
by default。这意味着视图的所有边都将被扩展,以便为状态栏保留额外的空间(搜索栏上方空间的高度恰好为20px,与状态栏的高度相同)。