У меня есть UIImageView
внутри UITableViewCell
. Высота ячейки изменяется в зависимости от количества строк текста в UILabel
с использованием предполагаемой высоты строки. Я хочу, чтобы это изображение было центрировано вертикально в ячейке, с фиксированной шириной и высотой> = 40 и <= 80. Когда высота ячейки увеличивается, я хочу, чтобы изображение увеличилось до этой максимальной высоты, а затем остановилось, всегда оставаясь вертикально по центру. Для этого я добавил эти два ограничения по высоте и ограничение по ширине, а также ограничения в верхней и нижней части ячейки с константой 5 для некоторого заполнения и приоритетом 250. Добавив цвет фона к представлению изображения, которое вы можете увидеть это выкладывается, как и ожидалось. Но когда я устанавливаю изображение в окне просмотра изображения, высота неожиданно меняется. </p>
С 3 строками в метке:
- без изображения: просмотр изображения составляет ~ 60pt в высоту ожидается
- с изображением: высота изображения 80pt - ожидается, что оно будет ~ 60
с 6 строками в метке:
- без изображения: высота изображения, как и ожидалось, равна 80pt
- с изображением: высота изображения, как и ожидалось, составляет 80pt
Почему это так? Как я могу убедиться, что изображение в представлении изображения не влияет на размер представления изображения, так как я хочу, чтобы высота ячейки, определяемая ограничениями автоматического макета, определяла его?
Вот пример проекта.