(Swift) 选择 tabBar 颜色?

Posted

技术标签:

【中文标题】(Swift) 选择 tabBar 颜色?【英文标题】:(Swift) selected tabBar Color? 【发布时间】:2015-05-02 03:42:31 【问题描述】:

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

【问题讨论】:

How to properly customize UITabBar and UITabBarItem on ios 7 and iOS 8? 的可能重复项 您是否正在寻找一个选项来制作自定义 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 【参考方案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 :)

以上是关于(Swift) 选择 tabBar 颜色?的主要内容,如果未能解决你的问题,请参考以下文章

TabBar 图标对选择的反弹效果就像 Swift 中的 Twitter 应用程序

如何在 Swift 中更改 TabBar 的颜色?图像作为导航栏中的背景?

swift - tabBar图片设置的一些注意点

在iPhone中自定义TabBar

用不同的颜色填充iOS Tabbar图标[重复]

iOS Swift TabBar状态栏文字颜色毛刺半白半黑