我将尝试为选项卡栏中的一个标签项设置tintColor。
目前,我的代码如下:
self.tabBar.tintColor = darkGrey
self.tabBar.unselectedItemTintColor = grey
我在我的选项卡中有5个tabBarItems(没有文本),当选择该项目时,我想将第一个设置为蓝色。
我该怎么做?
我将尝试为选项卡栏中的一个标签项设置tintColor。
目前,我的代码如下:
self.tabBar.tintColor = darkGrey
self.tabBar.unselectedItemTintColor = grey
我在我的选项卡中有5个tabBarItems(没有文本),当选择该项目时,我想将第一个设置为蓝色。
我该怎么做?
您需要为每个tabBarItem单独设置它。 您可以通过在viewDidLoad()中放置此代码来更改特定选项卡的选项卡颜色。
//setting your tabBarItem to blue when selected
self.tabBarItem.setTitleTextAttributes([NSForegroundColorAttributeName: UIColor.blue()], for:.selected)
var tab1 : UITabBarItem = self.tabBar.items![0] as UITabBarItem
tab1.setTitleTextAttributes([NSForegroundColorAttributeName: UIColor.gray], for: .normal)
//For Image
tab1.image = UIImage(named: "imageName")!.withRenderingMode(.alwaysOriginal)
TabBarItem
没有tintColor
选项,但是TabBar
有。 - Vini AppUITabBar *tabBar = self.tabBar;
UITabBarItem *targetTabBarItem = [[tabbar items] objectAtIndex:0]; //
whichever tab-item
UIImage *selectedIcon = [UIImage imageNamed:@"name-of-selected-
image.png"];
[targetTabBarItem setSelectedImage:selectedIcon];
Here is the another way:
self.tabBar.tintColor = UIColor.red
let tabSelected = self.tabBar.selectedItem!
tabSelected.selectedImage = #imageLiteral(resourceName: "second")
override func viewWillAppear(_ animated: Bool) { super.viewWillAppear(animated) self.tabBarController?.tabBar.barTintColor = UIColor.red }
- dhin我的原始代码
tabaritem.image = UIImage(named: imageName)?.withRenderingMode(.alwaysOriginal)
我把alwaysOriginal改成了automatic,然后它就可以运行了
tabaritem.image = UIImage(named: imageName)?.withRenderingMode(.automatic)