You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改UITabBar背景色?不同Xcode版本下的实现疑问

UITabBar背景色设置方法&版本差异说明

一、两种实现方法,选一个就行

1. 代码实现(Swift)

在你的UITabBarController的viewDidLoad里加这段代码:

override func viewDidLoad() {
    super.viewDidLoad()
    // 直接设置浅灰色,这里用系统预设的SystemGray5,也可以自定义RGB值
    tabBar.backgroundColor = UIColor.systemGray5
    // 如果设置颜色后仍和页面背景融合,关闭半透明属性
    tabBar.isTranslucent = false
}

2. 可视化界面设置(Storyboard/XIB)

  • 打开包含UITabBar的Storyboard,选中目标UITabBar
  • 在右侧属性检查器中找到Background选项,直接选择浅灰色(比如System Gray 5)
  • 若视觉上仍和页面背景无区分,找到Translucent复选框,取消勾选

二、为啥旧教程和你现在的效果不一样?

旧版Xcode对应的iOS版本中,UITabBar默认带有系统预设的背景色与半透明效果;但iOS 13及以后的版本(对应新版Xcode),UITabBar默认采用与页面背景融合的样式,所以会出现你遇到的「背景色和页面一致」的情况。

三、检查是否遗漏的步骤

  • 确认isTranslucent属性状态:该属性为true时,即使设置了背景色,半透明效果也会让TabBar和页面背景视觉上融合
  • 排查全局样式设置:如果用UITabBar.appearance()做过全局TabBar样式修改,会覆盖当前TabBar的单独设置
  • 检查自定义TabBar子类:若使用了自定义TabBar子类,确认子类中有没有重写背景色相关逻辑,避免覆盖你设置的颜色

内容的提问来源于stack exchange,提问作者Bravo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 21:44:56