Как перемещаться между комбинацией текстовых полей и текстовых представлений с помощью следующей кнопки на клавиатуре? - PullRequest
0 голосов
/ 07 мая 2018

Если последовательность содержит только текстовые поля или текстовые представления, я могу это сделать. Но как насчет смешанной последовательности?

1 Ответ

0 голосов
/ 07 мая 2018

Это не очень сложно. Я обычно поддерживаю последовательность, используя массив представлений:

// put your input fields here
let fields: [UIView] = [self.textField1, self.textView1, self.textField2]

func switchToNext(from field: UIView) {
   guard let index = fields.index(of: field) else {
      return
   }

   if index + 1 == fields.count {
      // handle the last item
      field.resignFirstResponder()
   } else {
      let next = fields[index + 1]
      next.becomeFirstResponder()
   }
}

Вы можете вызвать метод из UITextFieldDelegate и UITextViewDelegate:

func textFieldShouldReturn(_ field: UITextField) {
   switchToNext(from: field)
}
...