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要显示的内容

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值