Подтвердить что ты не робот

Можно ли изменить высоту UITableViewCell без перезагрузки вида таблицы?

Я пытаюсь изменить размер UITableViewCell без перезагрузки представления таблицы.

My UITableViewCell содержит UITextView, поэтому пользователи могут вводить элементы списка, длина которых может составлять несколько строк (около четырех макс). Прямо сейчас, я изменяю размер текстового представления каждый раз, когда пользователь нажимает клавишу возврата, но я также хотел бы изменить высоту ячейки представления таблицы.

Основная проблема, с которой я сталкиваюсь, заключается в том, что перезагрузка данных табличного представления приводит к тому, что текстовое представление теряет фокус. Есть ли способ изменить высоту UITableViewCell без перезагрузки представления таблицы, позволяя пользователю продолжать вводить текст в текстовом представлении?

4b9b3361

Ответ 1

Чтобы изменить размер строки представления таблицы, попробуйте отправить:

[tableView beginUpdates];
[tableView endUpdates];

Эти сообщения одно сразу после другого должны делать трюк, если у вас есть правильная высота, возвращаемая для этой ячейки в методе tableView:heightForRowAtIndexPath:. Строка должна анимироваться. Вы должны иметь возможность вернуть высоту своей ячейки с помощью ее границ или просто узнать, что вы установили высоту ячейки как.

Очевидно, что "tableView" - это имя вашего представления таблицы.