Я хочу изменить элементы панели вкладок на розовый, если они выбраны вместо синего по умолчанию.
Как я могу сделать это, используя редактор раскадровки в Xcode 6?
Вот мои текущие настройки, которые не работают, синий фон работает, но розовый не работает:
Ответы:
Добавьте атрибут Цвета времени выполнения с именем "tintColor" из StoryBoard. Это работает ( для Xcode 8 и выше ).
если вы хотите невыбранный цвет .. вы можете добавить
unselectedItemTintColor
тоже.источник
UITabBarItem
, наUINavigationController
подключен к моему TabBar , и она работает безупречно. И все без написания какого-либо кода, и это здорово, так как я повторно использую класс VC. Спасибо!Это элегантное решение прекрасно работает на SWIFT 3.0 , SWIFT 4.2 и SWIFT 5.1 :
На раскадровке:
Изменить: Работа с Xcode 8/10, для iOS 10/12 и выше .
источник
В Swift, используя xcode 7 (и более поздние версии), вы можете добавить следующее в свой файл AppDelegate.swift:
Вот как выглядит полный метод:
В приведенном выше примере мой элемент будет белым. «/255.0» необходим, потому что он ожидает значение от 0 до 1. Для белого я мог бы просто использовать 1. Но для другого цвета вы, вероятно, будете использовать значения RGB.
источник
На
Xcode8
я изменилсяImageTint
с раскадровки и он хорошо работает.Результат:
источник
Свифт 3 | Xcode 10
Если вы хотите, чтобы все элементы панели вкладок были одинакового цвета (выбраны и не выбраны) ...
Шаг 1
Убедитесь, что ваши графические ресурсы настроены на Render As = Template Image . Это позволяет им наследовать цвет.
Шаг 2
Используйте редактор раскадровки, чтобы изменить настройки панели вкладок следующим образом:
Шаг 3
Шаги 1 и 2 изменят цвет выбранного значка. Если вы все еще хотите изменить цвет невыбранных элементов, вам нужно сделать это в коде. Я не нашел способ сделать это через редактор раскадровки.
Создать пользовательский класс контроллера панели вкладок ...
... и назначьте пользовательский класс контроллеру сцены панели вкладок.
Если вы выясните, как изменить невыбранный цвет значка с помощью редактора раскадровки, пожалуйста, дайте мне знать. Спасибо!
источник
self.tabBar.unselectedItemTintColor = UIColor.white
self.tabBar.tintColor = #colorLiteral(red: 0.2, green: 0.7333333333, blue: 0.3450980392, alpha: 1)
Работа для меняпоместите этот код в viewDidLoad контроллера представления, который вы хотите изменить цвет
источник
Вы также можете установить цвет оттенка выбранной панели изображений по ключевому пути:
Надеюсь, что это поможет вам!! Спасибо
источник
XCode 8.2, iOS 10, Swift 3: теперь есть
unselectedItemTintColor
атрибут дляtabBar
:источник
Вы можете изменить цвета UITabBarItem по раскадровке, но если вы хотите изменить цвета по коду, это очень просто:
// Используем это для изменения цвета выбранного бара
// Это для изменения невыбранной панели (iOS 10)
// И эта строка для изменения цвета всей вкладки
источник
Так или иначе, мы не можем изменить выбранный элемент панели вкладок «Цветовой оттенок», используя только раскадровку, поэтому я добавил код ниже в моем ViewDidLoad, надеюсь, это поможет.
источник
Добавьте этот код в функцию делегата приложения -did_finish_launching_with_options
поставить RGB нужного цвета
источник
Это решение в Swift 3, которое работает в iOS 10:
Во-первых, вы создаете свой собственный подкласс контроллера панели вкладок и добавляете его в свой контроллер вкладок в раскадровке. В
viewDidLoad()
методе вы можете настроить панель вкладок. Здесь следует указать, чтоtintColor
атрибутtabBar
представляет цвет выбранного элемента, а не цвет невыбранных! Чтобы изменить цвет невыбранных элементов, я рекомендую перебирать каждый элемент и использовать оригинальные цвета ваших изображений, чтобы они не отображались серым цветом автоматически.Единственным недостатком этого подхода является то, что изображения ваших предметов уже должны иметь желаемый цвет, к которому вы стремитесь.
источник
Это лучший способ, чтобы измениться
Image Tint
в раскадровкеисточник
Вы можете создать подкласс
UITabBarController
и заменить его на раскадровку. В вашейviewDidLoad
реализации подкласса вызовите это:источник
'UITabBar' does not have a member named 'setSelectedImageTintColor'
self.tabBar.setSelectedImageTintColor = UIColor.greenColor
не уверен, правильно ли это или нетtintColor
не такselectedImageTintColor
, кстатиselectedImageTintColor
, устарела в iOS 8.