0

我正在尝试以编程方式更改标签栏项目文本的颜色。我在用

[[UITabBar appearance] setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:
                                                       [UIFont fontWithName:@"AmericanTypewriter" size:20.0f], UITextAttributeFont,
                                                       [UIColor blackColor], UITextAttributeTextColor,
                                                       [UIColor grayColor], UITextAttributeTextShadowColor,
                                                       [NSValue valueWithUIOffset:UIOffsetMake(0.0f, 1.0f)], UITextAttributeTextShadowOffset,
                                                       nil]];

这应该适用于iOS5及更高版本。但是我的应用程序在控制台上因错误而崩溃:

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[_UIAppearance setTitleTextAttributes:]: unrecognized selector sent to instance 0x79f5790'
*** First throw call stack:

不确定,为什么我会崩溃。另外请建议,如果有任何其他方法可以更改标签栏项目的字体颜色。

谢谢

4

3 回答 3

2

这些答案都不正确(至少对于 iOS 6)。

你在forState:通话结束时失踪了。例子

[[UITabBarItem appearance] setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:
                                                       [UIColor whiteColor], UITextAttributeTextColor,
                                                       [UIColor grayColor], UITextAttributeTextShadowColor,
                                                       [NSValue valueWithUIOffset:UIOffsetMake(0.0f, 1.0f)], UITextAttributeTextShadowOffset,
                                                       nil] forState:UIControlStateNormal];
于 2013-04-05T01:04:10.873 回答
1

setTitleTextAttributesUIBarItem类的方法。

所以获取标签栏项目并设置它们的标题属性。

看到这个

教程

用于在标签栏中设置样式

于 2012-07-09T09:18:00.193 回答
1

标题不属于,UITabBarUITabBarItem因此替换UITabBar

[[UITabBarItem appearance] setTitleTextAttributes:
于 2012-07-09T09:13:10.440 回答