IOS--导航控制器小结

1,一个UINavigationController对应一个NavigationBar实例,

2,一个UINavigationController可以包含多个UIViewController,

3,每一个UIViewController对应一个UINavigationItem实例,

4,UINavigationItem控制器控制多个UIBarButtonItem(2个),

5,一个UINavigationController控制着一个UIToolBar实例,

6,UIToolBar中的UIBarButtonItem由当前的试图控制器管理,而不是由导航控制器控制。

一,自定义导航栏:

我们知道导航栏的背景颜色可以通过“tinitColor”来设置。如果需要设置背景,则需要通过类别修改drawRect方法,

5.0以上的SDK提供了设置背景图片的方法,需要考虑版本兼容的问题:

二,导航控制器的维托方法:

导航控制器的委托方法UINavigationControllerDelegate,通过设置代理监听视图控制器的切换。

三,导航控制器中的工具栏:

导航控制器中的UIToolBar

在导航控制器中会带有一个UIToolBar的实例,但默认是隐藏的,可以通过如下方式将其打开:

//显示导航控制器工具栏:

[self.navigationController  setToolbarHidden:NO animated:YES];

这里需要注意,与UINavigationBar类似,导航控制器只拥有一个UIToolBar实例,但UIToolBar所拥有的UIBarButtonItem实例,是由试图控制器管理的。如下代码:

四:导航控制器常用属性与方法:

五,定制导航栏:

通过NavigationItem的titleView属性,定制标题视图。titleView属性是一个视图类,因此可以添加一个UIView的实例,也可以添加UIView的子类,如图:

定制左右栏目:

通过对导航栏的结构我们了解到NavigationItem实例中有一个leftBarButtonItem和rightBarButtonItem,而这两个属性又是UIBarButtonItem的实例,因此,通过初始化UIBarButtonItem实例设置导航栏的左右栏目项。

自定义左右栏目的常用方法:

//设置导航栏颜色:

self.navigationController.navigationBar.tiniColor = [UIColor redColor];

//设置导航栏提示用户内容

self.navigationItem.prompt = @"加载";

//取消提示

self.navigationItem.prompt =nil;

转载于:https://my.oschina.net/u/936286/blog/123639

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值