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