UITabBar 不改变色调颜色 Xcode 9.3

Zac*_*ack 4 iphone xcode uitabbarcontroller ios swift

这很奇怪。我的全局色调已设置,我的图标颜色已设置为我拥有的默认紫色。然而在运行时它是蓝色的。有小费吗?我已经检查过,没有看到其他人有这个问题。

故事板:

故事板

运行:

运行

Cya*_*Lee 9

基本上,当您想以UITabBar编程方式更改 tint 颜色时,UITabBarclass 为您提供了几个 tint 颜色属性:

  • tintColor:TabBarItem的颜色。
  • barTintColor:TabBar的背景栏颜色。
  • unselectedItemTintColor :未选中项目的颜色。

所以如果你改变了tintColor,barItems 的颜色就会改变。


...但是,为什么它不适用于 IB?

当您在 IB 中为 UITabBar 的项目设置特定颜色时,会出现一个名为Image Tint.

图像色调

更改Tint“查看”部分上的选项不会影响 TabBar 的项目,但只有Image Tint选项可以更改 tabBar 的项目颜色。

故事板的全局色调选项更改Tint“查看”部分的选项,但不影响Image Tint选项的默认值,因此不会影响选项卡栏的色调颜色。


那么.. 为什么Image Tint选项不受影响?

我无法解释为什么它不受影响。也许苹果有这个问题,或者某种错误。


有一些设置图像颜色的解决方法:

  • Image Tint为 UITabBarController 的 TabBar 对象显式设置一个选项。

您可能应该设置 eachTabBarControllerImage Tint选项,因为它不会影响全局设置。

  • 以编程方式更改全局 UITabBar 的 tintColor。

AppDelegate.swift's didFinishLaunchingWithOptions,粘贴以下代码

UITabBar.appearance().tintColor = <#Color what you want#>
Run Code Online (Sandbox Code Playgroud)