У меня есть ячейка с меткой, иногда текст метки меняется и ячейка должна немного расширяться. Я использую автоматическую компоновку и ячейки переменной высоты (вы знаете, UITableViewAutomaticDimension и AssessmentRowHeight). Кажется, что это не работает, если после изменения метки я не вызываю reloadData или не перезагружаю эту конкретную ячейку. Это нормально? Есть ли способ сделать это автоматически или без использования контроллера представления для перезагрузки ячейки, которая теперь должна иметь другую высоту? Спасибо.
Может ли ячейка (UITableView) изменять свою высоту в режиме реального времени?
Ответы (2)
У меня была аналогичная проблема в одном из моих приложений, и я добавил 2 ограничения, пусть d будет высотой метки по умолчанию 1. высота метки >= d, приоритет = 750 2. высота = d, приоритет = 1000 и атрибут ячейки uitableview для UITableViewAutomaticDimension Это сработало для меня.
person
Keerthi Polepalle
schedule
29.02.2016
Сделайте высоту ячейки динамической (вы также можете добавить несколько меток в одну и ту же ячейку таким образом, и ваша увеличенная высота ячейки зависит от текста меток)
Добавить четыре ограничения в метку (сверху, снизу, впереди, сзади)
Установить номер строки 0 и перенос слов в режиме разрыва строки
Добавьте этот метод с двумя делегатами
-(CGFloat)tableView:(UITableView )tableView estimatedHeightForRowAtIndexPath:(NSIndexPath )indexPath
{
return 44;
}
-(CGFloat)tableView:(UITableView )tableView heightForRowAtIndexPath:(NSIndexPath )indexPath
{
return UITableViewAutomaticDimension;
}
person
Shrikant Tanwade
schedule
04.03.2016
stackoverflow.com/questions/ 35789560/
- person Shrikant Tanwade; 04.03.2016
(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
- person alessioarsuffi   schedule 24.02.2016[tableView beginUpdates] [tableView endUpdates]
, это должно перезагрузить фрейм ячейки на основе его ограничения и нового изменения текста - person alessioarsuffi   schedule 24.02.2016