代码之家  ›  专栏  ›  技术社区  ›  Euan Traynor

UITextField未检测到“刷到类型”的更改

  •  0
  • Euan Traynor  · 技术社区  · 2 年前

    我有一个带有属性目标的textfield,它应该检测textfield标签的更改,然后运行一个函数。然而 .editingChanged 当用户(在键盘上)滑动键入时,不会触发UIControl事件;当电子邮件或密码自动填充时也会发生这种情况。

    我的代码:

    let textField: UITextField = {
        let textField = UITextField()
        textField.backgroundColor = .clear
        textField.font = UIFont.systemFont(ofSize: 14, weight: .medium)
        textField.textColor = .label
        textField.placeholder = ""
        return textField
    }()
    textField.addTarget(self, action: #selector(textFieldDidChange(_:)), for: .editingChanged)
    
    @objc func textFieldDidChange(_ textField: UITextField) {
        print(textField.text)
    }
    
    1 回复  |  直到 2 年前
        1
  •  1
  •   ratbum    2 年前

    你试过包括 textField.sendActions(for: .editingChanged) ?

    textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) 可能返回false?