更改标签栏的背景颜色

Posted

技术标签:

【中文标题】更改标签栏的背景颜色【英文标题】:Changing the background color of Tab Bar 【发布时间】:2016-08-20 03:24:44 【问题描述】:

我正在尝试在标签栏的背景中呈现所需的颜色,但是我遇到了问题。 这些是我尝试过的事情:-

    从情节提要更改标签栏对象的背景颜色。渲染的颜色总是比想要的颜色浅。

    使用viewDidLoad()方法中的以下代码以编程方式更改标签栏的颜色

        self.tabBar.translucent = false
        self.tabBar.backgroundColor = UIColor(hexString: "323B61")
    

    它不会改变颜色。相反,呈现的颜色是白色。

如何获得所需的标签栏颜色?

【问题讨论】:

【参考方案1】:

Swift 4,在 TabBarController 的 viewDidLoad 中

    self.tabBar.tintColor = UIColor.white // tab bar icon tint color
    self.tabBar.isTranslucent = false
    UITabBar.appearance().barTintColor = UIColor.blue // tab bar background color

【讨论】:

【参考方案2】:

斯威夫特 5

self.tabBarController.tabBar.backgroundColor = .white

【讨论】:

谢谢!太烦人了,Apple 一直在改变这个!【参考方案3】:

改变UITabBar的背景颜色

TabBarController* Tcontroller =(TabBarController*)self.window.rootViewController;
Tcontroller.tabBar.barTintColor=[UIColor yourcolour];

斯威夫特 3

根据上面的代码,这样就可以得到了

let Tcontroller = self.window.rootViewController as? UITabBarController
Tcontroller?.tabBar.barTintColor = UIColor.black // your color

或者更笼统的

UITabBar.appearance().barTintColor = UIColor.black // your color

【讨论】:

也可以:tabBar.isTranslucent = false【参考方案4】:

我们也可以通过Storyboard 进行操作

1) 先选择标签栏

2) 然后从 Attribute Inspector 中选择 Bar Tint colour 如下图所示:

就是这样!

【讨论】:

【参考方案5】:

斯威夫特 4

在你的 UITabBarController 中

tabBar.barTintColor = .purple
tabBar.isTranslucent = false

您还可以访问:

tabBar.tintColor = .green
tabBar.unselectedItemTintColor = .blue

根据需要更改图标颜色。

【讨论】:

【参考方案6】:

试试这个代码

self.tabBarController.tabBar.barTintColor =  [UIColor colorWithRed:0.376 green:0.729 blue:0.318 alpha:1.000];

【讨论】:

barTintColor 是否可以在低于 8.0 版本的 ios 设备中使用??

以上是关于更改标签栏的背景颜色的主要内容,如果未能解决你的问题,请参考以下文章

标签栏的背景颜色 更多按钮视图

如何在 Ionic 4 中更改标签栏和标签图标的背景颜色

如何更改android状态栏的背景颜色

更改状态栏的背景颜色

如何更改导航栏的默认背景颜色? [复制]

我想更改 Bootstrap 导航栏的背景颜色。 [复制]