AppDelegate中的UITextField自定义不适用于Swift

时间:2015-04-25 05:52:42

标签: ios swift uitextfield appdelegate

我想通过AppDelegate一次自定义所有textFields,我已经测试了在单个ViewControllers上工作的自定义,但是当我通过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
}

2 个答案:

答案 0 :(得分:1)

UITextField未使用UI_APPEARANCE_SELECTOR进行标记,因此这就是UITextField.appearance()...无效的原因。

有关详细信息,请查看What properties can I set via an UIAppearance proxy?

答案 1 :(得分:0)

我找到了解决方案,而不是@nannav。 我们不应该在AppDelegate中自定义TextField,而应该创建一个新类,如:

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
}

}

稍后在storyBoard中,我们必须将customClass中的 MyCustomTextField 分配给我们要自定义的文本字段