我如何将tabBarItems设置为不同的颜色?

问题描述 投票:0回答:1

我有一个tabBar设置,其中有5个tabBarItems都指向不同的视图控制器。我已经将项目设置为当一个tabBarItems没有被选中时,它的文本和图像都是灰色的(我使用系统默认的图像)。我正在寻找的是如何将每个被选中的tabBarItems设置成不同的颜色。例如,"主页 "的文字和图片都是红色的;"社交 "的文字和图片都是蓝色的;"关于 "的文字和图片都是绿色的;等等。

ios swift uitabbar uitabbaritem
1个回答
0
投票

已经回答过了 (在故事板中改变标签栏项目的颜色。)但简而言之,点击你想改变的标签栏项目,你可以在Storyboard中添加一个新的运行时属性,当选择时将改变整个项目(图像&文本).May Be its Helpful For you.


0
投票

如果你定义了条形项你可以这样做。

让数组=[UIColor.red, UIColor.blue, UIColor.green] 。

实现UITabBarDelegate

@IBOutlet weak var tab3: UITabBarItem!
@IBOutlet weak var tab2: UITabBarItem!
@IBOutlet weak var tab1: UITabBarItem!

func tabBar(_ tabBar: UITabBar, didSelect item: UITabBarItem) {
    if item == tab1 {
        tabBar.tintColor = array[0]
    }else if item == tab2 {
        tabBar.tintColor = array[1]
    }else {
        tabBar.tintColor = array[2]
    }
}

如果 你使用TabBarController 将这段代码添加到每个viewControllers中。

override func viewWillAppear(_ animated: Bool) {
    super.viewWillAppear(animated)
    self.tabBarController?.tabBar.tintColor = .green // change the color for each viewControllers
}
© www.soinside.com 2019 - 2024. All rights reserved.