2018-08-20 iOS导航栏的那些事

UINavigationController 在iOS开发体系里,是一个容器类的控制器,同时管理控制器的堆栈。继承自UIViewController。

1.内容页面的原点
在iOS7之前,导航控制器里的控制器页面,从导航栏的底部开始布局。页面原点在屏幕左边,导航栏底部(0,stautsHeight+naviHeight)。
iOS7之后,页面原点移至屏幕原点(0,0),可见区域为整个屏幕,但是页面内容会被状态栏和导航栏遮挡。


image.png

只有当设置导航栏背景之后,原点才会移回至导航栏底部。


image.png

但是,若设置导航栏隐藏,原点依旧移至屏幕原点(0,0)


image.png

2.内容页面的高度

image.png

本图来源:https://www.jianshu.com/p/20681c58d2be

iPhone8 (origin = (x = 0, y = 0), size = (width = 375, height = 667)) 可见,虽然内容页的原点,移至导航栏底部,但是内容页的尺寸,并没有改变,所以我们在添加subview的时候,需要将高度减去状态栏+导航栏高度。

3.导航栏的结构
4.导航栏个性化定制

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容