Можно ли изменить высоту UITableViewCell без перезагрузки вида таблицы?
Я пытаюсь изменить размер UITableViewCell без перезагрузки представления таблицы.
My UITableViewCell содержит UITextView, поэтому пользователи могут вводить элементы списка, длина которых может составлять несколько строк (около четырех макс). Прямо сейчас, я изменяю размер текстового представления каждый раз, когда пользователь нажимает клавишу возврата, но я также хотел бы изменить высоту ячейки представления таблицы.
Основная проблема, с которой я сталкиваюсь, заключается в том, что перезагрузка данных табличного представления приводит к тому, что текстовое представление теряет фокус. Есть ли способ изменить высоту UITableViewCell без перезагрузки представления таблицы, позволяя пользователю продолжать вводить текст в текстовом представлении?
Ответы
Ответ 1
Чтобы изменить размер строки представления таблицы, попробуйте отправить:
[tableView beginUpdates];
[tableView endUpdates];
Эти сообщения одно сразу после другого должны делать трюк, если у вас есть правильная высота, возвращаемая для этой ячейки в методе tableView:heightForRowAtIndexPath:
. Строка должна анимироваться. Вы должны иметь возможность вернуть высоту своей ячейки с помощью ее границ или просто узнать, что вы установили высоту ячейки как.
Очевидно, что "tableView" - это имя вашего представления таблицы.