ios - 如何为所有 subview 设置文本颜色?

标签 ios uiview uicolor

例如,我创建一个 UIView其中有一些 UILabelUIButton里面的 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 的信息不会自动更新它的 textColortintColor更改,this answer很好地解释了正在发生的事情以及这种技术选择背后的原因。

关于ios - 如何为所有 subview 设置文本颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31310905/

相关文章:

ios - 将UIColor作为字符串存储在NSMutableArray中,但无法显示颜色

ios - 如何将背景图像添加到在 iOS 中动态创建的 UItable 单元格

ios - 核心数据中的并发

ios - iOS 中的 React Native 60 及以上边距问题 - 忽略虚假层大小

ios - 如何阻止 UIView 与 tableview 一起滚动?

ios - 关闭 View 后动画完成 block 变得困惑

ios - 在iOS 7中更改键盘上方的自定义UIToolbar的颜色(而不仅仅是更改文本颜色)

objective-c - NSDateComponents 工作日不显示正确的工作日?

ios - 应用程序在第一次 AppStore 下载时挂起,然后总是在启动时崩溃 (iOS 9)

ios - 谷歌地图上的透明 UIView - Swift