Кнопки предыдущей и следующей клавиатуры с использованием полей UIText на Static UITableView

Я использую UITableView со статическими ячейками для отображения формы с несколькими UITextFields (каждый с уникальным упорядоченным тегом от 9000 до 9015). Когда я выбираю UITextField , клавиатура появляется с UIToolbar который имеет 2 кнопки, предыдущий и следующий. Кнопки работают нормально, пока на экране отображается предыдущий или следующий UITextField , иначе я не могу выбрать его, потому что viewWithTag не может найти поле.

ДЕМО: http://s15.postimg.org/5xjsoiupl/ezgif_com_video_to_gif.gif

EDIT: Я пытался использовать IQKeyboardManager но у него такая же ошибка. Если ячейки не видны, они не обнаруживаются, поэтому следующая или предыдущая стрелка отключена …

UITextFields

 let numberToolbar = UIToolbar(frame: CGRectMake(0, 0, self.view.frame.size.width, 50)) numberToolbar.barStyle = UIBarStyle.Default numberToolbar.tintColor = color_green prev_keyboard_button = UIBarButtonItem(title: "Previous", style: UIBarButtonItemStyle.Plain, target: self, action: "keyboardPrevButtonTapped:") next_keyboard_button = UIBarButtonItem(title: "Next", style: UIBarButtonItemStyle.Plain, target: self, action: "keyboardNextButtonTapped:") numberToolbar.items = [ prev_keyboard_button, next_keyboard_button, UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.FlexibleSpace, target: nil, action: nil), UIBarButtonItem(title: "OK", style: UIBarButtonItemStyle.Plain, target: self, action: "keyboardOKButtonTapped:")] numberToolbar.sizeToFit() // bind vars var_input_name.inputAccessoryView = numberToolbar var_input_name.delegate = self var_input_name.tag = 9000 // 9000 + index (0,1,2,3,..) ... 

Предыдущий и следующий код:

 func textFieldDidBeginEditing(textField: UITextField) { // current tag current_input_tag = textField.tag // check if it is the first prev_keyboard_button.enabled = !(textField.tag == 9000) // check if it is the last next_keyboard_button.enabled = !(textField.tag == 9015) } func keyboardPrevButtonTapped(sender: UIBarButtonItem) { if current_input_tag > 9000 { // find next input if let input = self.view.viewWithTag(current_input_tag - 1) as? UITextField { input.becomeFirstResponder() } } } func keyboardNextButtonTapped(sender: UIBarButtonItem) { if current_input_tag < 9015 { // find next input if let input = self.view.viewWithTag(current_input_tag + 1) as? UITextField { input.becomeFirstResponder() } } } 

Есть ли способ всегда рисовать статические ячейки или я должен реализовать это по-другому?

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

  • Не удается открыть раскадровку после обновления до os x mavericks. НЕИСПРАВНОСТЬ НЕИСПРАВНОСТИ
  • uilongpressgesturerecognizer падает, даже если не реализован
  • Загрузите UILabel из раскадровки, не можете изменить кадр в cellForRowAtIndexPath
  • Используйте наконечник в виде заголовка секции таблицы с классом nib
  • UITableViewCell выбрал теневой цвет при отмене выбора
  • Быстрая вставка строки в UITableView вызывает исключение NSInternalInconsistencyException
  • Разрешение одной цифры в UITextField в iOS
  • Индексированные табличные представления не отображаются после обновления до MT 4.0
  • Как программно добавлять многоразовые пользовательские представления? (Swift)
  • ipad как создать программно несколько таблиц на одном представлении
  • Создайте поведение UISearchBar с помощью UIView в tableHeaderView
  • Давайте будем гением компьютера.