仅更改默认UILabels的UIA外观
我正在构建一个带有主题切换器的应用程序,并且我想使用外观来切换具有默认颜色(黑色 - >白色)的UILabels的textColor
。
我认为这将是可能的,并创建非默认标签的子类,所以我只需要将UILabel设置为无子类或保留默认颜色。
当我改变以下的外观:
UILabel.appearance().textColor = UIColor.white
每个标签,包括子类和系统标签都变成白色,UIA外观覆盖控制级定制。 我觉得UIAppearance是默认状态,任何定制都可以应用于其上。
有没有办法使用UIAppearance来解决这个问题? 或者我必须手动编辑每个标签,我必须添加一个子类和一个自定义属性?
谢谢你的帮助!
我发现克服这个问题的唯一方法是让textColor变量只读。 但它的作品:
UILabel.appearance().textColor = UIColor.orange
自定义类:
class MyLabel: UILabel {
override var textColor: UIColor! {
get { return UIColor.blue }
set {}
}
}
链接地址: http://www.djcxy.com/p/96245.html
上一篇: Change UIAppearance of default UILabels only
下一篇: Changing UILabel text but keeping the rest of the attributes