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

Мне нужно знать, есть ли способ изменить заголовок / текст элемента панели вкладок (а не изображение, потому что он отлично работает, просто указав tintColor) во время фактического взаимодействия с пользователем? Как изменение его цвета при нажатии определенной кнопки.

В настоящее время текст невыделенного / неактивного элемента панели вкладок не имеет цвета. Есть ли способ указать его цвет с помощью раскадровки или кода?

Я знаю, что заголовок / цвет текста элемента панели вкладок можно указать с помощью:

UITabBarItem.appearance().setTitleTextAttributes([NSForegroundColorAttributeName: UIColor.white], for: .normal)

а также

UITabBarItem.appearance().setTitleTextAttributes([NSForegroundColorAttributeName: UIColor.red], for: .selected)

но это применимо только в том случае, если вкладка еще не отрисована. Вызов указанных методов после создания контроллера панели вкладок ничего не делает. Обратите внимание, что мой вопрос касается iOS 9 и ниже, поскольку изменить цвет оттенка панели вкладок для выбранных и невыбранных довольно легко в iOS 10.


person Axel    schedule 28.04.2017    source источник


Ответы (1)


Я понял. Оказывается, указание атрибутов по отдельности будет работать, а не глобально.

tabBar.items?[index].setTitleTextAttributes([NSForegroundColorAttributeName: normalColor], for: .normal)

tabBar.items?[index].setTitleTextAttributes([NSForegroundColorAttributeName: selectedColor], for: .selected)

person Axel    schedule 28.04.2017