TintColor Не изменяется для UIBarButtonItem для .normal стадии в случае iOS 13.2 - PullRequest
2 голосов
/ 07 ноября 2019

Я испробовал почти максимальное решение, и оно не помогло, цвет выбранного состояния применяется, но для нормального состояния он не применяется. С этой проблемой я сталкиваюсь специально только в iOS13.2.

        tabBarItem.setTitleTextAttributes([NSAttributedString.Key.font: tabFont,
                                       NSAttributedString.Key.foregroundColor: UIColor.yellow],
                                      for: .selected)
    tabBarItem.setTitleTextAttributes([NSAttributedString.Key.font: tabFont,
                                       NSAttributedString.Key.foregroundColor: UIColor.white],
                                      for: UIControl.State.normal)

Кто-нибудь сталкивался с этой проблемой? Я отключил темный режим в plist. Он всегда отображается серым цветом.

enter image description here

1 Ответ

0 голосов
/ 07 ноября 2019

Swift 5.1 + iOS 12.4 и iOS 13:

/// Subclass of `UITabBarController` that is used to set certain text colors for tab bar items.
class TabBarController: UITabBarController {

    override func viewWillAppear(_ animated: Bool) {
        super.viewWillAppear(animated)
        if let items = tabBar.items {
            // Setting the title text color of all tab bar items:
            for item in items {
                item.setTitleTextAttributes([.foregroundColor: UIColor.black], for: .selected)
                item.setTitleTextAttributes([.foregroundColor: UIColor.lightGray], for: .normal)
            }
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...