textFieldDidEndEditing - запись ограниченного значения текстового поля - PullRequest
0 голосов
/ 20 февраля 2019

enter image description here

Я пытаюсь создать калькулятор, который вычисляет результаты при изменении значений UITextField. Нет кнопки отправки Я понял textFieldDidEndEditing.Все работает за исключением UITextField, где пользователь вводит значение.Другие поля в форме UIPickerView с.Ограничивает ввод до 1 символа в свободной форме UITextField.

self.mortgageAmount.delegate = self

func textFieldDidEndEditing(_ textField: UITextField) {
    let selectedMortgageAmount = Double((mortgageAmount.text)!)
}

1 Ответ

0 голосов
/ 20 февраля 2019

Если у вас нет кнопки отправки и вы хотите динамический расчет при вводе в поле, вам нужно использовать textField(_:shouldChangeCharactersIn:replacementString:), а не textFieldDidEndEditing(_:).

Первый из них срабатывает каждый раз, когда любое содержимое втекстовое поле собирается измениться.Последнее срабатывает только после завершения редактирования текстового поля с помощью кнопки отправки или другого действия, например прокрутки родительского представления прокрутки, настроенного на завершение редактирования при прокрутке.

См. https://developer.apple.com/documentation/uikit/uitextfielddelegate/1619599-textfield

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