我曾经使用下面的代码更改我的应用的标题属性(font,textColor等)或Nativgation Bar:
[[UINavigationBar appearance] setTitleTextAttributes:
[NSDictionary dictionaryWithObjectsAndKeys:[UIColor whiteColor], UITextAttributeTextColor, nil]];`
今天我注意到在iOS8 GM Seed上,textColor没有变化,仍然是黑色。
如果有人遇到过类似的问题,并且解决了它,我们非常感谢。
答案 0 :(得分:6)
UITextAttributeTextColor
已弃用。使用NSForegroundColorAttributeName
[[UINavigationBar appearance] setTitleTextAttributes: [NSDictionary dictionaryWithObjectsAndKeys:[UIColor whiteColor], NSForegroundColorAttributeName, nil]];
更具可读性:
[[UINavigationBar appearance] setTitleTextAttributes: @{NSForegroundColorAttributeName: [UIColor whiteColor]}];
在你的情况下进入ViewController使用它如下:
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
[self.navigationController.navigationBar setTitleTextAttributes: @{NSForegroundColorAttributeName: [UIColor whiteColor]}];
}
有了外观,你必须在AppDelegate中使用- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
。
答案 1 :(得分:1)
在查看@Matz答案后,我使用了NSForegroundColorAttributeName属性。 虽然我不得不将代码从我的UIViewController类的viewWillAppear:方法移植到App Delegate,但之后它才起作用。