是否可以使用UIAppearance API设置UINavigationBar的titleTextAttributes?

问题描述:

我的应用程序包含一个UITabrBar,它在每个选项卡中都有一个UINavigationController。我可以使用UIAppearance API来代替设置所有导航栏的titleTextAttributes吗?是否可以使用UIAppearance API设置UINavigationBar的titleTextAttributes?

现在我的代码看起来像

NSDictionary *textTitleOptions = [NSDictionary dictionaryWithObjectsAndKeys:[UIColor blackColor], UITextAttributeTextColor, [UIColor clearColor], UITextAttributeTextShadowColor, 0, UITextAttributeTextShadowOffset, nil]; 

navController.navigationBar.titleTextAttributes = textTitleOptions; 
bNavController.navigationBar.titleTextAttributes = textTitleOptions; 
meNavController.navigationBar.titleTextAttributes = textTitleOptions; 

我想这样做

[[UINavigationBar appearance] setTitleTextAttributes:navBarTintColor]; 

但没有setTitleTextAttributes方法。

我错过了一些明显的东西吗?

+0

你的意思是 “textTitleOptions”,而不是 “navBarTintColor”? – user371320 2012-04-03 15:21:27

+1

BTW-你的选项字典的正切问题。你应该使用'[NSNumber numberWithInt:0]'而不是整数'0'。否则,编译器会将'0'视为sentinel'nil',并忽略该参数后面的所有内容。 – 2013-02-24 23:48:25

以下的工作。

[[UINavigationBar appearance] setTitleTextAttributes: textTitleOptions]; 

当您尝试运行该代码时会发生什么?