Делегат UITextField не вызывается с использованием раскадровки - PullRequest
0 голосов
/ 04 декабря 2018

Я пытался обработать пользовательский ввод, используя 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

1 Ответ

0 голосов
/ 04 декабря 2018

Если вы не хотите показывать клавиатуру, используйте этот код

numberTextField.inputView = UIView()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...