设置 UI 元素的默认颜色

Set default color of UI element

假设我想将所有 UISwitch 的默认 onTintColor 全局设置为红色。有没有办法设置它,当我在故事板中选择 "default" 颜色时,它会显示为红色?

您可以通过 appDelegate

设置外观
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
    UISwitch.appearance().tintColor = UIColor.blueColor()
    UISwitch.appearance().onTintColor = UIColor.redColor()
    return true
}

我不确定您是否可以使用 Interface Builder 执行此操作,但请考虑使用可与大多数 UI 元素一起使用的 UIAppearance class。例如 UISwitch 你会调用:

[[UISwitch appearance] setOnTintColor:[UIColor redColor]];

这将使所有 UISwitch 实例的色调颜色变为红色。如果您需要根据 UI 元素所在的位置进行区分,您可以使用此代码:

[[UISwitch appearanceWhenContainedIn:[MyClass1 class], [MyClass2 class], nil] setOnTintColor:[UIColor redColor]];

在创建 UI 元素之前,只需在某个地方(例如您的应用委托)调用此代码一次。