如何在其子类中观察UITexFiled startEditing和EndEditing?

时间:2019-04-08 08:28:52

标签: swift uitextfield

如果在当前类中启动了当前textField,则如何在UITexFiled子类中进行观察。

如果我要写self.delegate = self,那么我的ViewController UITextField方法将不会被调用。

我想在每次编辑开始时制作一个UITexFiled SubClass,然后按比例放大textFiled,完成编辑后,UITexField将恢复到正常大小。但是我想从我的子类中处理,不要在所有UITexFeildDelegate中的每个ViewController编写逻辑,请帮助我。

1 个答案:

答案 0 :(得分:1)

您可以为特定事件添加目标

class MyTextField: UITextField {
    override init(frame: CGRect) {
        super.init(frame:frame)
        commonInit()
    }
    required init?(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)
        commonInit()
    }
    func commonInit() {
        self.addTarget(self, action: #selector(didBegin), for: .editingDidBegin)
        self.addTarget(self, action: #selector(didEnd), for: .editingDidEnd)
    }
    @objc func didBegin() {

    }
    @objc func didEnd() {

    }
}