[英]Calling delegate methods in custom UITextField class
所以這可能是基本的 Swift 知識,但我很難在網上的任何地方找到這些信息。 我正在嘗試使用使用 UITextFieldDelegate 方法的全局 styles 創建自定義文本字段玻璃。 特別是我正在嘗試使用 function textFieldDidBeginEditing()。 在下面的示例中,我只是在編輯文本字段時嘗試打印“hello”,但是當我開始輸入自定義文本字段時,控制台沒有打印任何內容。
如果我做錯了什么,請告訴我,因為我不會過多地使用 Swift。 謝謝!
class LoFMTextField: UITextField {
override init(frame: CGRect) {
super.init(frame: frame)
styleTextField()
}
required init?(coder LoFMDecoder: NSCoder) {
super.init(coder: LoFMDecoder)
styleTextField()
}
func styleTextField() {
layer.cornerRadius = 5.0
layer.borderWidth = 1.0
layer.borderColor = UIColor.white.cgColor
backgroundColor = UIColor.white
}
}
extension UITextFieldDelegate {
func textFieldDidBeginEditing(textField: UITextField!) {
print("hello")
}
}
在styleTextField
添加這一行
self.delegate = self
然后
extension LoFMTextField : UITextFieldDelegate {
func textFieldDidBeginEditing(_ textField: UITextField) {
print("hello")
}
}
注意:它是
(_ textField: UITextField)
不是(textField: UITextField!)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.