我有一个UITabBar
设置了Interface Buider,只有在我没有设置全局应用色调的颜色时,图像突出显示才能正常工作:
当我使用
设置应用的全局色调颜色时[[UIView appearance] setTintColor:[TAStyleKit tintColor]];
然后所有选项卡图像显示为已选中。
只有当我点击标签然后再返回时,它们才有正确的颜色。注意"武器"选项卡是灰色的:
我做错了什么?
答案 0 :(得分:10)
编辑:别介意我之前写过的内容,看起来你只需要更改以下内容......
[[UIView appearance] setTintColor:[TAStyleKit tintColor]];
要...
[[UITabBar appearance] setTintColor:[TAStyleKit tintColor]];
请注意,您尝试更改UIView的外观而不是UITabBar。我在一个项目中运行它,它就是诀窍。
Swift 4.0
UITabBar.appearance().tintColor = UIColor.red
或TAStyleKit.tintColor
答案 1 :(得分:5)
当你不能或不想删除基本的UIView.tintColor代码时,这可能是更好的一个。只需将标签栏内UIViews上的tintColor设置为默认的灰色。
let view = UIView.appearance()
view.tintColor = UIColor.redColor()
let viewsInTabBar = UIView.appearanceWhenContainedInInstancesOfClasses([UITabBar.self])
viewsInTabBar.tintColor = UIColor(white: 144.0 / 255.0, alpha: 1) // default gray for inactive items
let tabBar = UITabBar.appearance()
tabBar.tintColor = UIColor.redColor() // actual highlight color
不幸的是,苹果没有使用其标准灰度值之一......
答案 2 :(得分:0)