更改自定义文本字段背景颜色和文本颜色 IOS Swift
Change custom text field background color and text color IOS Swift
我正在使用以下自定义文本字段 class 来更改文本字段的外观。现在我需要在用户开始编辑和结束编辑文本字段时更改文本字段的背景颜色、文本颜色和占位符颜色。怎么做,使用这个 class.
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
class 中你可以添加一个 属性 观察者:
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
Select 文本字段 -> 单击 "identity inspector" 图标 -> 单击加号按钮 "user Defined runtime attributes" -> 在 [=15= 中添加此文本“_placeholderLabel.textColor” ] 字段 -> 选择 "Type" "color" 并设置值颜色。
我正在使用以下自定义文本字段 class 来更改文本字段的外观。现在我需要在用户开始编辑和结束编辑文本字段时更改文本字段的背景颜色、文本颜色和占位符颜色。怎么做,使用这个 class.
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
}
}
这里有 EditingDidBegin 等的控制事件。
像这样:
self.addTarget(self, action: "myFunc", forControlEvents: UIControlEvents.EditingDidBegin);
在你的 CustomTextField
class 中你可以添加一个 属性 观察者:
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
Select 文本字段 -> 单击 "identity inspector" 图标 -> 单击加号按钮 "user Defined runtime attributes" -> 在 [=15= 中添加此文本“_placeholderLabel.textColor” ] 字段 -> 选择 "Type" "color" 并设置值颜色。