例如,我创建一个 UIView
其中有一些 UILabel
和 UIButton
里面的 subview 。所有 subview 都有不同的文本颜色。
有没有一种简单的方法可以为所有 subview 设置文本颜色并取消它?它应该像面具一样工作吗?
最佳答案
对于 UIButton
,如果它们是默认类型(.RoundedRectType),就像设置 tintColor
一样简单属性(property)到你想要的在他们的监督下 .对于 UILabel
不幸的是,这还不够,但你可以继承 UILabel
并覆盖 -tintColorDidChange
像这样的方法:
// In MyLabelSubclass.m
- (void)tintColorDidChange {
self.textColor = self.tintColor;
}
// Swift version
override func tintColorDidChange {
textColor = tintColor
}
更多关于为什么
UILabel
的信息不会自动更新它的 textColor
当tintColor
更改,this answer很好地解释了正在发生的事情以及这种技术选择背后的原因。
关于ios - 如何为所有 subview 设置文本颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31310905/