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

前言

在平时的开发中,打开布局查看器老是遇见self.view有的控制器顶在了navagationbar上面,有的控制器顶在了navagationbar下面;一直很纠结这个问题,最近专门研究一下,并记录下来。
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顶入顶部和底部);

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容