我实现了一个未描绘的UITextField-因此我添加了两个功能,即underlined()
和underlinedGrey
。
我工作得很好,但是我希望文本字段在被聚焦后立即最初为textfield.underlinedGrey()
。
我该如何实现?我已经浏览过网络,发现必须添加一个事件侦听器,但是到目前为止,对我来说没有任何作用。
修改:
textfield.underlined()
答案 0 :(得分:1)
遵循UITextFieldDelegate
然后实施
func textFieldDidBeginEditing(_ textField: UITextField) {
textField.underlined()
}
func textFieldDidEndEditing(_ textField: UITextField) {
textField.underlinedGrey()
}
要清除
extension UITextField {
func clear () {
self.layer.sublayers?.forEach {
if $0 is CAGradientLayer || $0.name == "MyLayer" {
$0.removeFromSuperlayer()
}
}
}
let border = CALayer()
border.name = "MyLayer"
let width = CGFloat(3.0)
border.borderColor = color