iOS导航栏视图层级分析

版权声明:本文为博主原创文章,转载请注明文章出处。 https://blog.csdn.net/qfeung/article/details/88804167

问题概述

随着 iOS 版本的提高, 导航栏视图层级和结构变得愈加复杂, 刘海屏的适配, 按钮的位置调整, 需要关注的问题越来越多.

导航栏视图层级的演进

iOS 9 时代

iOS9时代的导航栏

iOS 10 时代

iOS10时代的导航栏

iOS 11 时代的导航栏(最新)

在这里插入图片描述
在这里插入图片描述

  1. 导航栏上的标题和操作按钮全部成为_UINavigationBarContentView的子视图, 类似于UITabViewCellcontentView属性;
  2. UIVisualEffectView及其子视图负责半透明效果;
  3. 一个导航栈中的所有控制器共同拥有一个UINavigationBar;
  4. iOS11 开始, 导航栏采用了自动布局(AutoLayout);

疑点

_UIVisualEffectBackdropView和控制器根视图的颜色为什么是一样的(这里都是白色, 如果设置成其它颜色, 它们两个的颜色会保持一致), 但是从右侧详情中看到的颜色却为nil.
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qfeung/article/details/88804167