iOS - 仅在导航栏上更改backBarButtonItem文本颜色

时间:2017-02-09 11:38:11

标签: ios iphone uinavigationcontroller uinavigationbar uinavigationitem

我试图在我的应用程序(iOS 9 +)的导航栏上更改backBarButtonItem的颜色。

我可以这样做:

 [[UIBarButtonItem appearance] setTitleTextAttributes:@{NSForegroundColorAttributeName: [UIColor clearColor]} forState:UIControlStateNormal];

但这会改变导航栏上所有UIBarButtonItem的颜色,我只想更改后退按钮。

我试过了:

[self.navigationItem.leftBarButtonItem setTitleTextAttributes:@{NSForegroundColorAttributeName: [UIColor clearColor]} forState:UIControlStateNormal];

[self.navigationItem.leftBarButtonItem setTitleTextAttributes:@{NSForegroundColorAttributeName: [UIColor clearColor]} forState:UIControlStateNormal];

但它不起作用

注意:我想保持<系统后退按钮的箭头,因此除非我使用自定义图像

,否则不能使用自定义视图

3 个答案:

答案 0 :(得分:1)

最后我使用了以下解决方案:

1。设置UIBarbuttonitem BEFORE 添加正确的条形按钮项目的一般外观

[[UIBarButtonItem appearance] setTitleTextAttributes:@{NSForegroundColorAttributeName: [UIColor blueColor]} forState:UIControlStateNormal];

2. 然后设置右侧栏按钮项目及其特定外观

UIBarButtonItem *rigthBtn = [[UIBarButtonItem alloc] initWithTitle:@"title" style:UIBarButtonItemStylePlain target:self action:@selector(rightBtnTapped:)];

[rigthBtn setTitleTextAttributes:@{NSForegroundColorAttributeName:[UIColor redColor]} forState:UIControlStateNormal];

[self.navigationItem setRightBarButtonItem:rigthBtn];

答案 1 :(得分:0)

根据我的评论发布示例代码

sudo systemctl stop nginx

`

答案 2 :(得分:0)

一年太晚但是你试过设置tintColor吗?我不知道你的语法,但很快就会:

navigationController.navigationBar.tintColor = UIColor.COLOR