【发布时间】:2014-09-25 12:39:45
【问题描述】:
我正在开发一个小应用程序,我想将默认的全局色调颜色从蓝色更改为橙色。我已经在 Objective-C 中看到了很多方法,但我似乎无法使用 swift 让它工作。我怎么能做到这一点?提前致谢!
【问题讨论】:
标签: swift uitabbarcontroller ios8 xcode6
我正在开发一个小应用程序,我想将默认的全局色调颜色从蓝色更改为橙色。我已经在 Objective-C 中看到了很多方法,但我似乎无法使用 swift 让它工作。我怎么能做到这一点?提前致谢!
【问题讨论】:
标签: swift uitabbarcontroller ios8 xcode6
来自 Apple here 的小更新。使用 Xcode 12.4 版测试。
现在颜色资源目录中有一个AccentColor,可以在构建设置中进行设置。在较新的项目中默认设置,但较旧的项目可能需要手动添加。
请注意
AccentColorasset-name 不是保留关键字,可以是任何自定义的,但构建设置是它起作用的原因。基本上,
iOS没有与Android相同的主题(2021 年),其中标准颜色有关键字,我们可以简单地在资产中设置这些关键字。
【讨论】:
此答案上次针对 Swift 5.2 和 iOS 13.5 SDK 进行了修订。
您可以在窗口上设置tintColor。由于 tint color 会向下级联到所有子视图(除非显式覆盖),因此将其设置在窗口上将有效地使其在该窗口内具有全局性。
在使窗口键可见之前,将以下行添加到您的application(_:didFinishLaunchingWithOptions:) 或scene(_:willConnectTo:options:):
window.tintColor = .systemOrange /* or .orange on iOS < 13 */
您还可以通过更改Global Tint 属性在情节提要中进行设置:
【讨论】:
tintColor。此外,标签也有自己的 textColor 属性。