我有一个带有 aUITableViewController
作为内容视图控制器的弹出窗口。表视图有一个UISearchBar
作为它的标题视图。
UISearchDisplayController
现在,在 iOS 6 上,当激活时一切看起来都很好。但是,在 iOS 7 上,搜索栏上方会有一个额外的空间。
那么我怎样才能摆脱iOS 7搜索栏上方的这个额外空间呢?
我有一个带有 aUITableViewController
作为内容视图控制器的弹出窗口。表视图有一个UISearchBar
作为它的标题视图。
UISearchDisplayController
现在,在 iOS 6 上,当激活时一切看起来都很好。但是,在 iOS 7 上,搜索栏上方会有一个额外的空间。
那么我怎样才能摆脱iOS 7搜索栏上方的这个额外空间呢?
解决方案是将 的属性设置edgesForExtendedLayout
为。UITableViewController
UIRectEdgeNone
- (void)viewDidLoad {
[super viewDidLoad];
if ([self respondsToSelector:@selector(edgesForExtendedLayout)]) { /// iOS 7 or above
self.edgesForExtendedLayout = UIRectEdgeNone;
}
}
该属性具有UIRectEdgeAll
默认值。这意味着视图的所有边缘都将被扩展,为状态栏保留额外的空间(搜索栏上方空间的高度正好是 20px,与状态栏的高度相同)。