一:导航条的返回按钮
在讲导航条的返回按钮之前,先分享一个发现: 导航条自带 pop手势滑动功能,如果你没有自定义“返回”按钮,则可以直接手势滑动。
栗子:页面A push到页面 B, B要pop回到A,在没有自定义返回按钮的情况下,可以直接点击导航条的Back按钮,也可以将手指放在屏幕左边,向右滑动屏幕,即可pop回A。
注:如果自定义了导航条的返回按钮,则滑动功能消失。
正题:
原生的导航条返回按钮,一般是显示一个返回箭头+上一页面的标题(或者是 返回箭头+Back)
需求:把“上一页的标题”或者“Back” 改回 “返回”或者其他文字(不使用自定义按钮),如下图:
实现:需要调用这个方法:
UIBarButtonItem * bar = [[UIBarButtonItem alloc]initWithTitle:@"返回"style:UIBarButtonItemStylePlain target:nil action:nil];
但是,重点来了:这个句代码 不是写在页面B ,而是写在页面A (写在页面A push 到页面B 的方法里),如下图:
如果不想要“返回”文字,只需要一个“返回箭头”,可以不写title。例如:
UIBarButtonItem * bar = [[UIBarButtonItem alloc]initWithTitle:@""style:UIBarButtonItemStylePlain target:nil action:nil];
改变返回图片的颜色:如下图
需要在页面B写
self.navigationController.navigationBar.tintColor = [UIColor whiteColor];
二:导航条的颜色 与 导航条上字体和按钮的颜色
1.设置导航条navigationBar的颜色 (barTintColor和tintColor 的差别)
self.navigationController.navigationBar.barTintColor =[UIColor blueColor];
2.设置导航条navigationBar上“按钮”和“字体”的颜色(例:左返回、右添加、左边字体、右边字体)
self.navigationController.navigationBar.tintColor = [UIColor blackColor];
3.设置导航条上标题(title)的颜色---(title的属性方法)
[self.navigationController.navigationBarsetTitleTextAttributes:@{NSForegroundColorAttributeName:[UIColorwhiteColor]}];
注意 2和3 的区别:
方法2虽然可以控制导航条上字体的颜色,但是不能控制标题(title) 的颜色,title的颜色有title 的属性方法(方法3)控制