1)改变返回按钮
// 需要在父视图设置backBarButtonItem
UIBarButtonItem *backBtnItem = [[UIBarButtonItem alloc] init];
backBtnItem.title = @"消息";
self.navigationItem.backBarButtonItem = backBtnItem;
self.navigationController.navigationBar.tintColor = [UIColor whiteColor];// 改变图片的颜色,由于是tintColor,因此在父视图和子视图设置均可
2). 改变按钮的颜色
//改变全局navigationBar.barButtonItem的颜色
[[UIBarButtonItem appearance]setTitleTextAttributes:@{NSForegroundColorAttributeName: COLOR} forState:UIControlStateNormal];
//如果需要个别定制,再添加下面这句
[barButtonItem setTitleTextAttributes:@{NSForegroundColorAttributeName:CUSTOMCOLOR} forState:UIControlStateNormal];
3). 改变title的颜色
//改变全局navigationBar中间title的颜色
[controller.navigationBar setTitleTextAttributes:@{NSForegroundColorAttributeName: COLOR}];
//如果需要个别定制,在父视图中再添加下面这句
[self.navigationController.navigationBar setTitleTextAttributes:@{NSForegroundColorAttributeName:CUSTOMCOLOR}];
4).自定义UIBarButtonItem
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
[button setTitleColor:[UIColor orangeColor] forState:UIControlStateNormal];
[button setTitleColor:[UIColor lightGrayColor] forState:UIControlStateDisabled];
[button setTitle:@"发送" forState:UIControlStateNormal];
[button addTarget:self action:@selector(compose) forControlEvents:UIControlEventTouchUpInside];
[button sizeToFit]; //没有这句butto是不会显示的
UIBarButtonItem * rightBarButton = [[UIBarButtonItem alloc] initWithCustomView:button];
rightBarButton.enabled = NO;
self.navigationItem.rightBarButtonItem = rightBarButton;