У меня есть UITableViewController с 3 статическими ячейками. Один с высотой 60,0 в верхней части и один с тем же размером внизу. Высота средней ячейки динамична и настолько велика, что все 3 ячейки вместе заполняют весь экран.
Средняя ячейка содержит UITextView, которая заполняет полную ячейку.
Моя проблема заключается в том, что когда я хочу напечатать что-то в этом TextView, табличное представление автоматически прокручивается, когда клавиатура поднимается, и я больше не вижу верхнюю часть ячейки, включая курсор, пока я вручную не прокручу туда.
Есть ли способ предотвратить прокрутку вида таблицы так автоматически? Или сказать, что он должен прокручиваться до верхней части ячейки, поэтому я вижу курсор?UITableView прокручивается вверху ячейки
Я уже пытался переопределить метод viewWillAppear(_:)
, не вызывая его супер метод, но затем я не могу прокрутить табличное представление достаточно вручную, поэтому я не могу добраться до последней ячейки, когда клавиатура видна.
Я также пробовал прокручивать вручную ячейку внутри textViewDidBeginEditing(_:)
, но ничего не изменил. Мой метод выглядел так.
func textViewDidBeginEditing(textView: UITextView) {
let indexPath = NSIndexPath(forRow: 1, inSection: 0)
self.tableView.scrollToRowAtIndexPath(indexPath, atScrollPosition: .Top, animated: true)
}
Я не знаю, что еще я мог бы попробовать, поэтому я был бы признателен за вашу помощь.
Это делает TableView прокрутки еще до дна:/и это не очень хорошо выглядеть с огромным пустым пространством в нижней части –
Пробуйте разные значения или отрицательные значения на начать редактирование, чтобы отрегулировать его, когда редактирование конца вызвано, просто верните его на 0 – RodolfoAntonici
Я пробовал разные значения для нижней и верхней, но ни один из них не работал. Фактически это только делает невозможным переход в первую/последнюю ячейку с видимой клавиатурой. : / –