Поместите выбранное текстовое поле на таймер

У меня есть текстовое поле, которое по-прежнему выбирается, если не выбран другой объект. Так раздражает | редактирование каретки мигает, поскольку она по-прежнему выбирается. Это пример.

enter image description here

Я просто хочу быть текстовым полем по таймеру. Таким образом, через 10 секунд выбор уходит. Без пользователя, чтобы выбрать что-то еще.

-7
источник поделиться
1 ответ

Если у вас есть выход theTextField, вы можете использовать такой код:

@IBOutlet weak theTextField: UITextField!
weak var timer: Timer?

...

func createTimer {
   timer?.invalidate() //Stop the current timer, if any

   //Create a 10 second timer that makes the text field resign first responder
   timer = ScheduledTimer(withTimeInterval: 10.0 repeats: false) {
     timer in
     theTextField.resignFirstResponder()
   }
}

viewWillAppear(_ animated: Bool) {
  createTimer()
}

Затем вызовите createTimer() в различные методы делегирования текстового поля, чтобы сбросить таймер еще на 10 секунд:

func textFieldShouldBeginEditing(_ textField: UITextField) {
  createTimer()
}

func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
  createTimer()
}
0
источник

Посмотрите другие вопросы по меткам или Задайте вопрос