所有UILabel的默认文本颜色
我想为我的应用程序中的所有UILabel设置默认的文本颜色。 我find了这个:
UILabel.appearance().textColor = UIColor.red
这是有效的,但是当我想为故事板中的特定标签设置其他颜色时,无法完成 – 所有标签仍然是红色的。
是否可以通过在故事板中设置所有UILabels来定义默认的文本颜色,然后在故事板中(而不是在代码中)对其中的一些UILabels进行更改? 或者使用外观API在代码中设置默认颜色,并更改故事板中的一些标签?
子类使用CustomLabel.swift标签。 您可以使用名为txtColor
IBDesignable
属性来设置文本颜色
以下是代码工作示例
import UIKit @IBDesignable class CustomLabel: UILabel { @IBInspectable var txtColor: UIColor = UIColor.grayColor() { didSet { self.textColor = txtColor } } func setup() { self.textColor = txtColor } override func awakeFromNib() { setup() } override func prepareForInterfaceBuilder() { setup() } }
穆罕默德所说的也有另一种select。 另一种方法是使用UIAppearance代理,但指定要应用的类。
在这种情况下,你可以像这样使用它:
UILabel.appearanceWhenContainedInInstancesOfClasses([MyViewController.self, MyotherViewController.self]).textColor = UIColor.red
上面虽然,只会允许你设置textColor你自己在一些类。 在代理被设置为启用的那些代码中,您将无法设置文本颜色。
您可以select哪种方法更适合您的情况
- ios7没有displayModeButtonItem或targetDisplayModeForActionInSplitViewController
- WebKitErrorDomain错误101
- 为什么UIWebView不能放在UIScrollView中?
- Xcode 7 Swift 2无法实例化通用UITableViewController的UIViewController子类
- Objective-Csortingstringdate数组
- iOS 9企业应用validation失败
- 应用程序被拒绝用于iCloud备份标记
- 使用Agora.io的技术评论和我们的经验
- 在NSArray内的NSDictionary中排列NSDates?