UITableViewAutomaticDimension с изображением

У меня есть табличное представление, которое содержит пользовательскую ячейку. Пользовательская ячейка имеет изображение и метку. Я хочу изменить размер ячейки на основе текста в метке, потому что размеры изображения постоянны. Изображение просматривает большую часть центрируемой ячейки, а метка находится под ней.

self->tableView.rowHeight = UITableViewAutomaticDimension;

Я использую эту строку кода, и я также установил ограничения на раскадровку. Когда код запускается, изображение не отображается, только метка и ячейка даже не меняются в зависимости от текста. Когда я устанавливаю вид на высоту по умолчанию, отображаются оба. Я не уверен, почему это не работает. Я думал только о том, что мои ограничения неверны. Я успешно использовал это с 2 ярлыками, но не с изображением. Любая помощь будет оценена. Я хотел бы показать картину относительно моих ограничений, но я не могу из-за моего статуса.

3 ответа

Решение

Если у вас есть такой макет вашего tableViewCell, установите ограничения, как показано ниже.

Вам также необходимо установить оценочный RowHeight вашего tableView.

 self.tableView.estimatedRowHeight = 200;
 self.tableView.rowHeight = UITableViewAutomaticDimension;

Ваши ограничения изображения

Ограничения вашего лейбла

Удалите метку формы ограничения высоты, если она установлена, и установите метку noOflines = 0. Это поможет вам.

Заставить вас установить следующее

номер метки от 0 до 0

-не устанавливать высоту для метки

- в нижнем ограничении между меткой и ячейкой contentView установите его на значение, большее или равное, например, 5

Затем вызовите методы ниже

override func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
    return UITableViewAutomaticDimension
}

override func tableView(tableView: UITableView, estimatedHeightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
    return UITableViewAutomaticDimension
}
Другие вопросы по тегам