iOS NavigationBar 导航栏自定义

 

 

1. 设置导航栏NavigationBar的背景颜色:

 

a)  setBarTintColor : 设置NagivationBar的颜色

也可以用 :

[[UINavigationBar appearance] setBarTintColor:[UIColor yellowColor]];

(在UINavigationController执行pushViewController的界面里再次setBarTintColor后颜色还会变,说明设置的是同一个UINavigationBar,)

 

 

b)  在子页面中用self.navigationController.navigationBar.barTintColor修改Navigationbar颜色

 

注意:[UINavigationBar appearance]的方法只能在Appdelegate里用,

在UINavigationController的子页面中只能通过self.navigationController修改NagivationBar的属性.


 

c)  setTintColor : 设置NagivationBar上按钮的颜色:

self.navigationController.navigationBar.tintColor = [UIColor blueColor];

 

 


2.设置NavigationBar上的title的颜色以及属性

a)  [[UINavigationBar appearance] setTitleTextAttributes:@{NSForegroundColorAttributeName:[UIColor whiteColor]}];

b)  [self.navigationController.navigationBar setTitleTextAttributes:@{NSForegroundColorAttributeName:[UIColor whiteColor]}];

 

 

 

3.关于导航栏返回按钮:

前一个界面自定义下个界面的返回按钮使用:self.navigationItem.backBarButtonItem

当前页面自定义返回按钮使用:self.navigationItem.leftBarButtonItem

 

 

 

4.使用pushViewController切换到下一个视图时,navigation controller按照以下3条顺序更改导航栏的左侧按钮:

1、如果B视图有一个自定义的左侧按钮(leftBarButtonItem),则会显示这个自定义按钮;

2、如果B没有自定义按钮,但是A视图的backBarButtonItem属性有自定义项,则显示这个自定义项;

3、如果前2条都没有,则默认显示一个后退按钮,后退按钮的标题是A视图的标题;

 

 

 

参考资料:http://www.cnblogs.com/yujinzhong/p/5664546.html

 

 

 


 转载请注明出处:http://www.cnblogs.com/ficow/p/7136954.html

posted @ 2017-07-08 15:24  Ficow  阅读(4049)  评论(0编辑  收藏  举报