AppDelegate 中的 UITextField 自定义不适用于 Swift
UITextField customization in AppDelegate not working for Swift
我想通过 AppDelegate 一次自定义所有文本字段,我已经测试了在各个 ViewController 上工作的自定义,但是当我通过 AppDelegate 添加自定义时,它不会出现。请指导我我错过了什么:
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
UITextField.appearance().layer.borderWidth = 2
UITextField.appearance().layer.borderColor = UIColor(red:0.094 , green:0.737 , blue:0.612 , alpha:1).CGColor
return true
}
我找到了解决方案,感谢@nannav。
与其在 AppDelegate 中自定义 TextField,不如创建一个新的 class,例如:
class MyCustomTextField: UITextField {
required init(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
self.layer.borderWidth = 2
self.layer.borderColor = UIColor(red:0.094 , green:0.737 , blue:0.612 , alpha:1).CGColor
}
}
稍后在故事板中,我们必须将 customClass 中的 MyCustomTextField 分配给我们想要自定义的文本字段
UITextField
没有用 UI_APPEARANCE_SELECTOR 标记,所以这就是它不像 UITextField.appearance()...
.
那样工作的原因
有关详细信息,请查看 What properties can I set via an UIAppearance proxy?
我想通过 AppDelegate 一次自定义所有文本字段,我已经测试了在各个 ViewController 上工作的自定义,但是当我通过 AppDelegate 添加自定义时,它不会出现。请指导我我错过了什么:
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
UITextField.appearance().layer.borderWidth = 2
UITextField.appearance().layer.borderColor = UIColor(red:0.094 , green:0.737 , blue:0.612 , alpha:1).CGColor
return true
}
我找到了解决方案,感谢@nannav。 与其在 AppDelegate 中自定义 TextField,不如创建一个新的 class,例如:
class MyCustomTextField: UITextField {
required init(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
self.layer.borderWidth = 2
self.layer.borderColor = UIColor(red:0.094 , green:0.737 , blue:0.612 , alpha:1).CGColor
}
}
稍后在故事板中,我们必须将 customClass 中的 MyCustomTextField 分配给我们想要自定义的文本字段
UITextField
没有用 UI_APPEARANCE_SELECTOR 标记,所以这就是它不像 UITextField.appearance()...
.
有关详细信息,请查看 What properties can I set via an UIAppearance proxy?