未使用故事板调用 UITextField 的代表

Delegate of UITextField not being called using storyboard

我试图使用 UITextField 来处理用户输入,我实现了它的委托功能。

这是我从故事板拖到 viewController

的变量
class DailPadViewController: UIViewController, UITextFieldDelegate{

 @IBOutlet weak var numberTextField: UITextField!

这是我在 viewDidload() 中调用的委托

override func viewDidLoad() {
    super.viewDidLoad()
    PermissionAppUser.AskAudioPermission()
    numberTextField.isUserInteractionEnabled = false
    numberTextField.delegate = self

    customizeBtnStyle()

    let longPress = UILongPressGestureRecognizer(target: self, action: #selector(deletedAll))
    delete.addGestureRecognizer(longPress)
}

我实现了这个委托,但它从未调用过...

func textFieldDidBeginEditing(_ textField: UITextField) {
    print("Text begin editing")
}

func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
    let currentText = textField.text ?? ""
    guard let stringRange = Range(range, in: currentText) else { return false }

    let updatedText = currentText.replacingCharacters(in: stringRange, with: string)

    return updatedText.count <= 9
}

编辑:添加函数 viewDidload

如果您不想显示键盘,请使用此代码

numberTextField.inputView = UIView()