Разверните содержащее представление с его содержимым(меткой)

#ios #swift #layout #uiview

Вопрос:

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

введите описание изображения здесь

Итак, иерархия представлений выглядит следующим образом —

UIView (родительский вид) -> 
 UIView(представление контейнера) ->
 UILabel
 UIImageView

Я хочу, чтобы представление контейнера расширялось или сжималось вместе с содержимым метки. Таким образом, если метке требуется пространство для размещения всех букв (максимум ~30 символов), представление контейнера должно расширяться, как и фактическое родительское представление. Однако, если есть только 10-15 символов, представление контейнера должно уменьшиться. В основном позволяя ярлыку занимать только пространство, необходимое для размещения его содержимого.

Может ли кто-нибудь предложить хороший способ добиться этого. Фактический код не требуется. Идей будет достаточно.

Заранее спасибо.

Комментарии:

1. используете ли вы макетирование из стевии ? для этого у меня есть простой трюк

Ответ №1:

Мы можем сделать это с помощью ограничений.

Добавьте ограничения containerView как ведущие, верхние, нижние и конечные в свой профиль(Конечные >= 10 ). Затем добавьте представление стека в yourLabel ImageView и распределите его как заполняющее, так и добавляющее ограничения (начальное, конечное, верхнее и нижнее) в свой containerView.