iOS 7 UIBarButton后退按钮箭头颜色


172

我正在尝试更改后退按钮箭头

在此处输入图片说明

我目前正在使用以下命令控制文本大小以及后退按钮上的文本颜色:

[[UIBarButtonItem appearance] setTitleTextAttributes:
  [NSDictionary dictionaryWithObjectsAndKeys:
    [UIColor whiteColor], UITextAttributeTextColor,
    [UIFont boldSystemFontOfSize:16.0f], UITextAttributeFont,
    [UIColor darkGrayColor], UITextAttributeTextShadowColor,
    [NSValue valueWithCGSize:CGSizeMake(0.0, -1.0)], UITextAttributeTextShadowOffset,
  nil] forState:UIControlStateNormal];

但是,如果我只想更改后退按钮的箭头颜色,该怎么办?


您是否找到解决方案来更改后退按钮的箭头颜色?
2013年

1
@OMK我最终更改了我的infolistproperty NavBarColor使其工作,然后将实际的navbarcolor设置为其他颜色。我不确定发生了什么,但是该解决方案对我
有用

1
UINavigationBariOS 7的一些属性的行为已更改,请查看“ 答案”以查看其他属性的影响。
Bhavin

Answers:


438

要更改特定导航控制器的后退按钮V形颜色*:

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

*如果您使用的应用程序具有多个导航控制器,并且希望将此人字形颜色应用于每种颜色,则可能要使用外观代理为每个导航控制器设置后退按钮人字形,如下所示:

[[UINavigationBar appearance] setTintColor:[UIColor whiteColor]];

并采取迅速措施(感谢Jay Mayu的评论):

UINavigationBar.appearance().tintColor = UIColor.whiteColor()

3
仅当您为整个应用程序使用相同的导航控制器时,这才适用于整个应用程序。我实际上建议巴特的建议。
凯尔·克莱格

1
我用关于多个导航控制器的注释更新了答案。我仍然不同意Bart的建议是“正确”的答案,因为当您设置整个应用程序的颜色时,还有很多其他副作用。另外,最初的问题不是询问如何为整个应用程序设置主题,而只是询问如何为后退按钮设置主题。
DiscDev 2013年

1
这似乎并没有设置人字形的颜色。
jcampbell1 2014年

2
@ jcampbell1-我已经在我的多个应用程序中成功使用了它……也许您没有阅读有关多个UINavigationControllers的警告。
DiscDev 2014年

7
快速行动UINavigationBar.appearance().tintColor = UIColor.whiteColor()
Jay Mayu 2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.