2015-01-05 2 views
4

У меня есть UITabBar установить с интерфейсом Buider и изображение подсветки работает правильно, только если я не установить глобальный цвет приложение оттенок:UITabBar оттенок цвета не работает на изображениях

tab bar without tint color

Когда я установил глобальный цвет оттенка моего приложения, используя

[[UIView appearance] setTintColor:[TAStyleKit tintColor]]; 

затем все изображения вкладок отображаются как выбрано.

enter image description here

Только тогда, когда я нажимаю на вкладку и вернуться снова, они имеют правильный цвет. Обратите внимание на вкладку «Оружие», который здесь серый:

enter image description here

Что я делаю неправильно?

ответ

8

EDIT: Никогда не возражаете, что я написал раньше, выглядит как вам просто нужно изменить следующие ...

[[UIView appearance] setTintColor:[TAStyleKit tintColor]]; 

К ...

[[UITabBar appearance] setTintColor:[TAStyleKit tintColor]]; 

Обратите внимание, что вы пытаетесь изменить внешний вид UIView вместо UITabBar. Я запустил это в проекте, и он сделал трюк.

enter image description here

enter image description here

+0

У меня есть только одно изображения на вкладку и я хочу, чтобы цвет оттенка наносятся на изображении – Jan

+0

Я удалил все, что я написал и написал решение, которое должно выполнить то, что вы ищете. Вы устанавливали внешний вид UIView вместо UITabBar. – timgcarlson

+0

Я устанавливаю оттенок на 'UIView', потому что я хочу, чтобы все мои элементы ui имели этот оттенок вместо синего цвета. – Jan

5

Здесь может быть лучше один, когда вы не можете или не хотите, чтобы удалить базовый код UIView.tintColor. Просто установите tintColor на UIViews внутри панели вкладок до серого цвета по умолчанию.

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 

, к сожалению, яблоко не использует одну из своих стандартных значений серых ...

+0

Он работает для IOS 9.3 или выше? –

Смежные вопросы