UINavigationBar 与UINavigationItem ,UINavigationController,UIViewController关系(1)

几个有联系且比较相似的东西,容易搞混乱,这次彻底搞明白,并记录下来

1:首先UINavigationController  是导航控制器  控制添加到其中的视图控制器UIViewController

2:  navigationBar是UINavigationController的一个属性,就是显示在界面上方的导航条bar

可以在UINavigationController中   用self.navigationBar调用     

self.navigationBar.backgroundColor = [UIColoryellowColor];

也可以在UIViewController中  用self.navigationController.navigationBar调用   

self.navigationController.navigationBar.backgroundColor = [UIColoryellowColor];


不管在哪里调用,调起的都是同一个navigationBar,也就是说在UINavigationController中 设置navigationBar的属性,会同步发生作用到所有UIViewController界面。

例如:MyNavigationController导航控制器中加入 viewControllerA和  viewControllerB.  如果在MyNavigationController设置navigationBar的背景为红色,则viewControllerA和  viewControllerB的导航条的背景都为红色,在viewControllerA设置navigationBar的背景为蓝色,push到viewControllerB中,导航条也为蓝色

3: navigationItem是UIViewController的一个属性,目的是设置在本界面navigationBar的显示内容             navigationItem和navigationController是同级别的属性

navigationItem也有自己的属性 

title :标题名称

titleView:标题视图(用来自定义)

leftBarButton: 左边按钮(也可以设置多个,自行百度)

rightBarButton:右边按钮

4:navigationItem与UINavigationBar,就是mvc模式,UINavigationBar就是View,只有一份,显示在每个viewController界面,而每个viewController都有一个navigationItem属性,用来设置本界面navigationBar要显示的内容

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/XiaoYuWen1242466468/article/details/52383236
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

UINavigationBar 与UINavigationItem ,UINavigationController,UIViewController关系(1)

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭