UITabBar无法更改深度颜色 Xcode 9.3

4
这很奇怪。我的全局色调已经设置好了,我的图标颜色也设置为默认的紫色。但是在运行时它变成了蓝色。有什么建议吗?我查过周围,没有看到其他人有这个问题。
故事板:

StoryBoard

运行时间:

Run Time

2个回答

9
基本上,当您想要以编程方式更改UITabBar的色调颜色时,UITabBar类会为您提供几个色调颜色属性:
  • tintColorTabBarItem的颜色。
  • barTintColorTabBar的背景栏的颜色。
  • unselectedItemTintColor :未选项目的颜色。
因此,如果您更改tintColor,则barItems的颜色将被更改。

为什么在IB上不起作用呢?

当您在IB中为UITabBar的项目设置特定颜色时,有一个名为Image Tint的选项。

imageTint

更改“视图”部分的“色调”选项不会影响TabBar的项目,但只有“图像色调”选项可以更改TabBar的项目颜色。
Storyboard的全局色调颜色选项更改“视图”部分的“色调”选项,但不会影响“图像色调”选项的默认值,因此它不会影响选项卡栏的色调颜色。

那么为什么图像色调选项没有被影响?

我无法解释为什么没有被影响。也许苹果公司遇到了问题,或者是某种错误。


有一些解决方案可以设置图像颜色:

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

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

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

AppDelegate.swiftdidFinishLaunchingWithOptions中,粘贴以下代码

UITabBar.appearance().tintColor = <#Color what you want#>

2

我曾经遇到过类似的问题,通过将“渲染方式”属性从“原始答案”更改为“默认”,问题得以解决。您可以在资产库中找到此选项,在属性检查器中选择右侧的图像时,在“渲染方式”下方。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接