快速更改默认全局色调颜色

Posted

技术标签:

【中文标题】快速更改默认全局色调颜色【英文标题】:Change default global tint color in swift 【发布时间】:2014-09-25 12:39:45 【问题描述】:

我正在开发一个小应用程序,我想将默认的全局色调颜色从蓝色更改为橙​​色。我已经在 Objective-C 中看到了很多方法,但我似乎无法使用 swift 让它工作。我怎么能做到这一点?提前致谢!

【问题讨论】:

【参考方案1】:

来自 Apple here 的小更新。使用 Xcode 12.4 版测试。

现在颜色资源目录中有一个AccentColor,可以在构建设置中进行设置。在较新的项目中默认设置,但较旧的项目可能需要手动添加。

    创建名称为“AccentColor”(或任何您喜欢的名称)的颜色资源 转到目标的构建设置并添加颜色资源的名称作为条目“Global Accent Color Name”的值。

请注意AccentColorasset-name 不是保留关键字,可以是任何自定义的,但构建设置是它起作用的原因。

基本上,ios 没有与 android 相同的主题(2021 年),其中标准颜色有关键字,我们可以简单地在资产中设置这些关键字。

【讨论】:

实际的最佳解决方案。不知道这是什么东西,太神奇了。【参考方案2】:

此答案上次针对 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 属性在情节提要中进行设置:

【讨论】:

当我添加您提供给我的代码时,视图不会加载,这会显示在控制台中:“应用程序窗口应该在应用程序启动结束时有一个根视图控制器” 你在使用故事板吗? 是的!这太容易了,我不知道我怎么不能早点想出这个。感谢您的回答! :D 编辑:我已经将它设置在那里,但颜色没有改变 o.o 这很奇怪。你确定你没有覆盖这个颜色吗?也许隐含在其他一些 IB 文件中? 有效!尝试添加步进器或滑块...如果您想更改标签栏项目的突出显示颜色,您必须明确执行此操作,它们不会响应 tintColor。此外,标签也有自己的 textColor 属性。

以上是关于快速更改默认全局色调颜色的主要内容,如果未能解决你的问题,请参考以下文章

更改全局色调颜色 - iOS 7/iOS 8

在 iOS 7 上更改标签栏色调颜色

XCode - 在情节提要中更改默认全局字体

如何为 Tailwindcss 全局更改默认、活动和悬停状态的链接颜色?

更改活动共享中按钮的色调颜色

xamarin形式的进度条色调颜色