Назначьте действие на UITextField и обновите UILabel - PullRequest
0 голосов
/ 19 января 2019

В настоящее время я использую Swift 4 и борюсь с проблемой, которая, вероятно, довольно проста, но я не могу найти простое решение для нее. Я постараюсь объяснить это как можно тщательнее.

Используя текстовое поле, я хочу назначить действие кнопке Отправить на виртуальной клавиатуре для отправки введенного текста, а затем я хочу очистить текстовое поле. После того, как текст был отправлен, я хочу проверить, равен ли представленный текст указанной строке (например, «привет, детская площадка»). Если представленный текст равен «Здравствуй, детская площадка» и, следовательно, правильный, я хочу обновить метку, чтобы сообщить пользователю «Исправить»

Итак, процесс выглядит так:

Текстовое поле -> Ввод текста -> Отправка текста с использованием виртуальной Кнопка отправки -> Очистить текстовое поле -> Проверить, отправлен ли текст = указано String -> Если да, обновить метку на «Correct» -> Если нет, ничего не делайте -> повторяйте, пока не исправите.

Надеюсь, это понятно и заранее спасибо.

1 Ответ

0 голосов
/ 19 января 2019

Допущения:

  • Ваше текстовое поле с именем textField
  • Ваш ярлык с именем label

Вы можете проверить это в том, чтоФункция действия кнопки выглядит следующим образом:

    if let text = textField.text {
        if text == "Specified Text" {
            label.text = "Correct"
        }
    }

Таким образом, если текст textField равен указанному вами тексту, текст метки будет «Правильным», иначе ничего не произойдет.

Если с помощью виртуальной кнопки отправки выозначает кнопку возврата на клавиатуре, вам нужно сделать следующее в textFieldShouldReturn методе делегата:

func textFieldShouldReturn(_ textField: UITextField) -> Bool {
    if let text = textField.text {
        if text == "Specified text" {
            label.text = "Correct"
        }
        textField.text = ""
    }
    textField.resignFirstResponder() // this is optional, you might wanna hide keyboard or not
    return true
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...