更改自定义文本字段背景颜色和文本颜色iOS Swift

我正在使用下面的自定义文本字段类来更改文本字段的外观。 现在,我们需要在用户开始编辑和结束编辑文本字段时更改文本字段的背景颜色,文本颜色和占位符颜色。 如何做到这一点,使用这个类。

import Foundation import UIKit class CustomTextField: UITextField{ required init(coder aDecoder: NSCoder) { super.init(coder: aDecoder) //Border self.layer.cornerRadius = 15.0; self.layer.borderWidth = 1.5 self.layer.borderColor = UIColor.whiteColor().CGColor //Background self.backgroundColor = UIColor(white: 1, alpha: 0.0) //Text self.textColor = UIColor.whiteColor() self.textAlignment = NSTextAlignment.Center } } 

根据文档添加自己作为您需要的UIControl事件的目标

在那里你有EditingDidBegin等的控制事件。

像这样的东西:

 self.addTarget(self, action: "myFunc", forControlEvents: UIControlEvents.EditingDidBegin); 

在你的CustomTextField类中,你可以添加属性观察者:

 var change: Bool = false { didSet { textColor = change ? .yellow : .black backgroundColor = change ? .blue : .white } } 

并在你的ViewController中:

 func textFieldDidBeginEditing(textField: UITextField) { customTextField.change = true } func textFieldDidEndEditing(textField: UITextField) { customTextField.change = false } 

不要忘记设置您的文本字段的代表,在故事板或以编程方式。

编辑:
缩短了代码并更新了Swift 3