设置 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 元素之前,只需在某个地方(例如您的应用委托)调用此代码一次。
假设我想将所有 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 元素之前,只需在某个地方(例如您的应用委托)调用此代码一次。