簡體   English   中英

在自定義 UITextField class 中調用委托方法

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM