Стандартный UITableViewCell с динамической высотой
Я хочу знать, возможно ли иметь стандартный UITableViewCell
со стилем UITableViewCellStyleSubtitle
с динамической высотой?
Если да, то как это достичь?
- Я не хочу настраивать и создавать новый класс и nib для ячейки.
- Я установил свойство
numberOfLines
cell.textLabel
и cell.detailTextLabel
в 0
.
Хорошо, если ваш textLabel
содержит несколько строк контента и detailTextLabel
содержит однострочное содержимое, тогда tableView автоматически настраивает высоту ячейки. Но если это наоборот, тогда это не так! Это ошибка Apple? или ожидаемые функциональные возможности?
Ниже приведены снимки экрана
![enter image description here]()
![enter image description here]()
Ответы
Ответ 1
вы можете получить общие строки, необходимые для этой метки с заданной строкой
- (int)lineCountForLabel:(UILabel *)label {
CGSize size = [label.text sizeWithFont:label.font constrainedToSize:label.frame.size lineBreakMode:UILineBreakModeWordWrap];
return ceil(size.height / label.font.lineHeight);
}
то просто умножьте totalNumberOfLines с высотой для строки и верните это число в HeightForRowAtIndexPath.