У меня есть tableViewController с пользовательскими ячейками, каждая из которых содержит textField. Ячейки добавляются в tableView путем нажатия кнопки «Добавить», которая вызывает метод insertRows (at: with :). Ячейки имеют reuseIdentifier и используются повторно.
Проблема : учитывая, что пользователь добавил группу строк и редактирует textField в одной из нижних строк, когда пользователь пытается чтобы прокрутить вверх, нажав строку состояния в верхней части экрана, затем tableView прыгает / глюки при первом нажатии, но затем прокручивается вверх (как и ожидалось) после того, как пользователь нажимает строку состояния во второй раз.
Примечание: этот переход / сбой не возникает, когда редактируемый textField является первым textField, редактируемым в tableView, он происходит только после второго редактирования.
Цель : чтобы TableView мог прокручиваться вверх при нажатии на строку состояния, не скрывая клавиатуру.
Things I ' мы пробовали
- Установка вручную tableView.scrollsToTop = true
- Добавление tableView.beginUpdates () перед вызовом insertRows (at: with :) и endUpdates () после
- Отставка первого респондента после завершения редактирования textField
- Поиск в Интернете в течение многих часов, чтобы понять, почему это происходит, но безрезультатно
@IBAction func addButtonTapped(_ sender: Any) {
let indexPath = IndexPath(row: cells.count, section: 0)
cells.append(cell(text: ""))
tableView.insertRows(at: [indexPath], with: .none)
}
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "customCellIdentifier", for: indexPath) as! TableViewCell
return cell
}
Прикрепленный GIF показывает скачок / сбой, когда пользователь впервые нажимает на строку состояния, а затем ожидаемое поведение при повторном нажатии строки состояния. TableView Jump / Glitch
Любая помощь будет наиболее ценной. Заранее спасибо!