gpt4 book ai didi

ios - 仅更改默认 UILabels 的 UIAppearance

转载 作者:行者123 更新时间:2023-11-28 07:54:56 24 4
gpt4 key购买 nike

我正在构建一个带有主题切换器的应用,我想使用 Appearance 来切换具有默认颜色(黑色 -> 白色)的 UILabel 的 textColor

我假设这是可能的,并为非默认标签创建了子类,所以我只需要定位没有子类或保留默认颜色的 UILabel。

当我使用以下内容更改外观时:

UILabel.appearance().textColor = UIColor.white

每个单独的标签,包括子类和系统标签都变成白色,UIAppearance 覆盖控件级别的自定义。我觉得将 UIAppearance 设置为默认状态并在其上应用任何自定义是有意义的。

请问有什么方法可以用 UIAppearance 来解决吗?还是我必须手动编辑我必须添加子类和自定义属性的每个标签?

感谢您的帮助!

最佳答案

我发现解决这个问题的唯一方法是将 textColor 变量设置为只读。但它有效:

UILabel.appearance().textColor = UIColor.orange

自定义类:

class MyLabel: UILabel {
override var textColor: UIColor! {
get { return UIColor.blue }
set {}
}
}

关于ios - 仅更改默认 UILabels 的 UIAppearance,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48503807/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com