【问题标题】:(Swift) selected tabBar Color?(Swift) 选择 tabBar 颜色?
【发布时间】:2023-03-31 14:46:01
【问题描述】:

我已经知道如何设置 tabBar 的“barTintColor”了。我想知道的是如何为选定的 tabBar 设置特定的颜色(就像在图片中选择的 tabBar 具有深粉色)。就这样。提前谢谢:)

【问题讨论】:

  • 您是否正在寻找一个选项来制作自定义 uicolor,例如:1 let myColor = UIColor(red: 0.5, green: 0.2, blue: 0.1, alpha: 1) ?
  • 没有。我正在寻找的是如何更改处于选中状态的标签栏项目的背景颜色,如图所示
  • @Satachito 感谢您提供的链接。它部分解决了我关于文本颜色的问题,并且我更新了我的问题。但我仍然没有得到所选 tabBar 颜色的解决方案
  • 我认为你的答案是子类化 UITabBarViewController 如下所述:How to change UITabBar Selection color

标签: ios swift uitabbarcontroller uicolor selected


【解决方案1】:

更改 tintColor(这就是您可以做的全部)

创建一个 UITabBarController 的子类,将其设置为你的 UITabBarViewController 的类:

class myOwnTBC: UITabBarController {
  override func viewDidLoad() {
    super.viewDidLoad()
    self.tabBar.tintColor = .blueColor()
  }
}

根据您的评论进行更多研究:

我相信,Apple 不希望开发人员更改 UITabBar 的背景颜色。请参阅 Apple 的 Interface Guidelines concerning the TabBar。我引用它:

标签栏: 是半透明的

我尝试继承 UITabBarItem 并操纵背景,这给了我以下异常:

不允许直接修改标签栏Controller管理的标签栏

解决方案?! 你不会喜欢它,但如果你想使用 UITabBarController,你必须坚持使用半透明预设。

解决方法? 目前我能想到的唯一解决方法是:使用自己的 UIView-Subclass 创建自己的导航。无论如何,这将违反界面指南,但您可以达到您的目标。

【讨论】:

  • 您提到的代码将改变tabBar的图像颜色(在我的例子中,我将它设置为白色)。所以这不是我要寻找的解决方案。
  • 我在答案中添加了信息,尽管您可能不喜欢它:)
  • 非常感谢您抽出这么多时间给我一些宝贵的信息..thanx :)
猜你喜欢
  • 2011-01-20
  • 2015-08-12
  • 2020-02-25
  • 2019-12-27
  • 2023-04-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多