1

在此处输入图像描述

我在标签栏中有四个项目。

1> 观看。(黑色)

2> 按需。(黑色)

3> 搜索。(黑色)

4> 设置。(我的颜色)

如何更改标签栏中项目文本的颜色以匹配其图标颜色。(现在在标签栏中选择了性能)

在此处输入图像描述

如何更改标签栏中“1,2,3”文本的颜色以匹配其图标颜色。(现在在标签栏中选择了性能)

我试图设置 TitleTextAttributes。

UITabBarItem.appearance().setTitleTextAttributes([NSForegroundColorAttributeName: UIColor(red: 255.0/255.0, green: 255.0/255.0, blue: 255.0/255.0, alpha: 1.0),NSFontAttributeName: UIFont(name: "SFUIDisplay-Regular", size: 36.0)!], forState:UIControlState.Normal)
UITabBarItem.appearance().setTitleTextAttributes([NSForegroundColorAttributeName: UIColor(red: 22.0/255.0, green: 209.0/255.0, blue: 237.0/255.0, alpha: 1.0),NSFontAttributeName: UIFont(name: "SFUIDisplay-Regular", size: 36.0)!], forState:UIControlState.Focused)

但我想喜欢它。

在此处输入图像描述

这个问题出现在 tvos 9.1 中。

4

2 回答 2

3

我不确定我是否理解您的问题,但在开发 Apple TV 应用程序时遇到了一些类似的问题。

我想要做的是更改标签栏项目的字体颜色。

这就是我结束做的事情。首先,我创建了一个UITabBarController子类,并将其用于故事板上的控制器。然后我在-(void)viewDidLoad

for(UITabBarItem * item in self.tabBar.items) {
    [item setTitleTextAttributes:@{NSForegroundColorAttributeName : [UIColor darkGrayColor]} forState:UIControlStateNormal];
    [item setTitleTextAttributes:@{NSForegroundColorAttributeName : [UIColor blueColor]} forState:UIControlStateFocused];
}

一切都很好。

希望能帮助到你!

于 2016-02-11T23:17:26.683 回答
2

迅捷5解决方案:

override func viewDidLoad() {
    super.viewDidLoad()

    for item in (self.tabBarController?.tabBar.items)! {
        item.setTitleTextAttributes([NSAttributedString.Key.foregroundColor: UIColor.white], for: .focused)
        item.setTitleTextAttributes([NSAttributedString.Key.foregroundColor: UIColor.lightGray], for: .normal)
    }
}
于 2019-03-29T20:49:40.377 回答