当前位置:  开发笔记 > IOS > 正文

如何更改UINavigationBar按钮项目上的文本颜色

如何解决《如何更改UINavigationBar按钮项目上的文本颜色》经验,为你挑选了3个好方法。

我有一个UINavigationController,我使用Interface Builder中导航栏的Tint属性将其更改为白色.但按钮和标题中的文本仍然是默认颜色,白色,因此在白色背景下丢失.任何人都知道如何解决这个问题?



1> Michael..:

从iOS 5开始,使用UIBarButtonItem外观代理更加容易:

 NSDictionary *attributes = [NSDictionary dictionaryWithObjectsAndKeys: 
                        [UIColor blackColor], 
                        UITextAttributeTextColor, 
                        [UIColor clearColor], 
                        UITextAttributeTextShadowColor, nil];

[[UIBarButtonItem appearance] setTitleTextAttributes: attributes
                                            forState: UIControlStateNormal];

在应用程序中设置:didFinishLaunchingWithOptions:



2> Taras Kalapu..:
for (id subView in theNavigationBar.subviews) {
    if ([subView isKindOfClass:[UIButton class]]) {
        [(UIButton *)subView setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
        [(UIButton *)subView setTitleShadowColor:[UIColor clearColor] forState:UIControlStateNormal];
    }

}



3> schwa..:

这是一种方式:

[[theNavigationBar.subviews objectAtIndex:1] setTitleColor:[UIColor redColor] forState:UIControlStateNormal];
[[theNavigationBar.subviews objectAtIndex:2] setTitleColor:[UIColor redColor] forState:UIControlStateNormal];

但是,巨大的,警告.这很可能在未来的操作系统版本中打破,不建议使用.

至少你应该进行大量的测试,并确保你对导航栏的子视图布局的假设是正确的.

推荐阅读
LEEstarmmmmm
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有