我在标签栏中有四个项目。
1>观看。 (黑色)
2>点播。 (黑色)
3>搜索。 (黑色)
4>设置。 (我的颜色)
如何更改选项卡栏中项目文本的颜色以匹配其图标颜色。 (现在在标签栏中选择了Performance)
在此输入图像描述
如何更改标签栏中“1,2,3”文本的颜色以匹配其图标颜色。 (现在在标签栏中选择了Performance)
我试着设置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中。
我不确定我是否理解你的问题,但在开发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];
}
一切都运作良好。
希望能帮助到你!
swift 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)
}
}