我在谷歌搜索这么多,但我找不到一个直接和巩固的答案.
我想自定义我的UITabBarController:
UITabBar本身就是黑色的UITabBar变黑我猜我需要使用UIAppearanceAPI,实际上我可以UITbarBar使用以下方式将黑色变为:[[UITabBar appearance] setBarTintColor:[UIColor blackColor]];.
然而,文字项目的颜色似乎没有做我想要的,在谷歌搜索后,以下解决方案对我有意义,但它只将非突出显示状态更改为白色,突出显示保持白色...
NSDictionary *titleAttributes = @{NSForegroundColorAttributeName : [UIColor whiteColor]};
[[UITabBarItem appearance] setTitleTextAttributes:titleAttributes forState:UIControlStateNormal];
UIColor *titleHighlightedColor = [UIColor redColor];
NSDictionary *highlightedTitleAttributes = @{NSForegroundColorAttributeName : titleHighlightedColor};
[[UITabBarItem appearance] setTitleTextAttributes:highlightedTitleAttributes forState:UIControlStateHighlighted];
Run Code Online (Sandbox Code Playgroud)
关于五彩图标,到目前为止的方法是简单地设置故事板中的图标,如下所示:

但这并不是我想要的,它只在未选择项目时以灰色显示整个图标.选择项目后,图标将完全消失.
这是原始图标:

这是未选择项目时的外观:

在这里,它是在选定的陈述,如上所述,图标完全消失:

所以,我的问题是我能够达到上述要求的准确程度.我目前缺少什么?我在代码中做的所有事情都比在Storyboard中做得更好吗?
注意:我的目标是iOS版本大于7.0,因此如果iOS 7和iOS 8之间的行为不同,请包含任何特定于版本的信息.