首页 > 解决方案 > 在 Swift 中,除了在一个地方之外,如何拥有全局色调?

问题描述

在我的应用程序中,我有一个像这样在应用程序委托中设置的全局色调颜色,它工作正常。我到处都有那种色调。

UIView.appearance().tintColor = globalTintColor 

我在一个特定的视图控制器中有一个表视图,我希望复选标记(accessoryType)是不同的颜色。

我试过这个。

UIView.appearance().tintColor = globalTintColor
UITableView.appearance(whenContainedInInstancesOf: [MyViewController.self]).tintColor = .red

但这没有任何效果。我更改了顺序,也没有效果。如果我注释掉 UIView 外观代码,我会更接近我想要的。

// UIView.appearance().tintColor = globalTintColor
UITableView.appearance(whenContainedInInstancesOf: [MyViewController.self]).tintColor = .red

有了这个,除了复选标记为红色的 MyViewController 实例之外,我在所有地方都可以获得默认的蓝色色调。

我错过了什么?除了一个特定的地方,我如何拥有全局色调?

标签: swiftuiappearancetintcolor

解决方案


推荐阅读