我有一些代码来自定义 TabBar。我使用外观框架来做到这一点。该应用程序是iOS 5+,因此据我了解应该可以使用。我的代码如下所示:
NSDictionary *textAttributesNormal = @{
UITextAttributeTextColor: [UIColor colorWithRed:0.04f green:0.25f blue:0.56f alpha:1.00f],
UITextAttributeTextShadowOffset: [NSValue valueWithUIOffset:UIOffsetMake(0, 0)]
};
NSDictionary *textAttributesSelected = @{
UITextAttributeTextColor: [UIColor colorWithWhite:1.0 alpha:1.0]
};
[[UITabBar appearance] setTintColor:[UIColor colorWithRed:0.53f green:0.76f blue:0.91f alpha:1.00f]];
[[UITabBarItem appearance] setTitleTextAttributes:textAttributesNormal forState:UIControlStateNormal];
[[UITabBarItem appearance] setTitleTextAttributes:textAttributesSelected forState:UIControlStateSelected];
我在委托的 applicationDidFinishLaunching 方法中执行此操作。此代码在 iOS6 上完美运行并按预期运行。但在 iOS 5 上,它什么也不做。它既不会引发任何警告或错误。
模拟器和实际设备上的行为相同。我可以在界面生成器中设置色调颜色,然后它将在 iOS5 上运行。但是我没有找到通过 IF 设置标签栏项目的文本属性的方法。
我感谢任何帮助或提示!:-)
最好的祝愿,托马斯