iOS UIViewController的self.view布局位置问题。

前言

在平时的开发中,打开布局查看器老是遇见self.view有的控制器顶在了navagationbar上面,有的控制器顶在了navagationbar下面;一直很纠结这个问题,最近专门研究一下,并记录下来。
iOS UIViewController的self.view布局位置问题。_第1张图片
image.png

这里不做详细介绍了,如果不愿意详细看下面文章就看我总结吧,很详细的介绍在:https://www.jianshu.com/p/6925ce1b9e34

这里做一个总结:
1、影响到self.view是顶入顶部(有navagationbar)或者底部(有tabbar)有三个属性可以影响到:
A、isTranslucent(所属UINavigationBar),
B、edgesForExtendedLayout(所属UIViewController),
C、extendedLayoutIncludesOpaqueBars(所属UIViewController)
2、isTranslucent 与 edgesForExtendedLayout 相互影响是否顶入顶部或底部,
举例:
(isTranslucent 为true 和 edgesForExtendedLayout 为all )就self.view顶入顶部和底部,(
A、isTranslucent 为false 和 edgesForExtendedLayout 为all )就self.view不顶入顶部和底部,
B、isTranslucent 为true 和 edgesForExtendedLayout 为.top )就self.view顶入顶部和不顶入底部,
其他的属性就自己揣测吧。
3、extendedLayoutIncludesOpaqueBars = true 可忽略 isTranslucent 对导航栏的影响(可以理解为:在其他默认设置情况先设置extendedLayoutIncludesOpaqueBars = true, self.view顶入顶部和底部);

你可能感兴趣的:(iOS UIViewController的self.view布局位置问题。)