@artem-Kolyadin

Почему UILabel constraints определяют высоту View, а не пины View к другим View?

Подскажите пожалуйста, не могу разобраться с Autolayot для реализации следующего:
1. Первым ставится картинка, 16:9, все хорошо, с этим проблем нет
2. Потом идет View 1, "пиннится" к картинке, краям экрана, высота меняется (если лейблы идут по несколько строк), это тоже работает
3. View 3 тоже генерируется хорошо и правильно
ПРОБЛЕМА:
Я бы хотел чтобы View 2 занимал оставшееся место между view 1 и view 3. Я поставил пины с нужными отступами и все работает до тех пор как я добавляю во view 2 label. После того как я задаю constraints для label, label как сабвью начинает растягивать или ужимать высоту view2 в зависимости от величины текста. Если ужимает, то начинает растягиваться view1. А я бы хотел, чтобы она наоборот влезала в те размеры view2 которые определены относительно view 1 и view3. И в случае если текст не влазит, сделал бы кнопку read more. Если текста мало, пусть будет пустое место.

5b166ce2d5d2f782506782.png
  • Вопрос задан
  • 219 просмотров
Решения вопроса 2
doublench21
@doublench21 Куратор тега Swift
  • Image [top 0; lead 0; trail 0; height 200]
  • View1 [top 0; lead 0; trail 0]

  • Label1 [ top 8; lead 8; trail 8 ] NumberLines = 0
  • Label2 [ top 8; lead 8; trail 8 ] NumberLines = 0
  • Label3 [ top 8; lead 8; trail 8 ] NumberLines = 0
  • View1
[Тянем ctrl от View 1 к Label3 и выбираем Bottom Space To Container и ставим в 8]
Получим динамический View1 heigh в зависимости от Labels

  • View3 [bottom: 0; lead: 0; trail: 0, height: 150];
  • View 2 [bottom to View 3 8; top to View 2 8; lead 0; tail 0]
  • Label1 [ top 8; lead 8; trail 8 ] NumberLines = 0

spoiler
5b167cc95b47a699390151.png5b167cd09838b901370100.png5b167cd83a297808648171.png5b167ce11e0dd928964163.png


Если я правильно понял Вас.
Ответ написан
@fgengine
Решается настройкой параметров content hugging и content compression resistance.
https://krakendev.io/blog/autolayout-magic-like-ha...
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы