iOS 7
以后ViewController
开始全屏布局
edgesForExtendedLayout
,它是一个类型为UIExtendedEdge
的属性,指定边缘要延伸的方向,它的默认值很自然地是all
,四周边缘均延伸,就是说,如果即使视图中上有navigationBar
,下有tabBar
,那么视图仍会延伸覆盖到四周的区域。
新建一个空项目, 在
默认演示.pngStoryboard
中embed
一个Navigation Controller
:
默认hierarchy.png
因为默认是
取消top.pngall
, 这里在默认关联的ViewController
中将edgesForExtendedLayout
指定成了.bottom
, 相当于取消了顶部
代码:edgesForExtendedLayout = .bottom
取消top hierarchy.png
通过截图来看的确达到了我们的预期效果, 但也因此影响到了
取消translucent.pngnavigationBar
, 变成灰色了, 这时我们在通过translucent
取消穿透效果:
代码:self.navigationController?.navigationBar.isTranslucent = false
取消translucent hierarchy.png
网友评论