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