UIStackView в раскадровке заставляет внутренний размер контента - PullRequest
0 голосов
/ 08 декабря 2018

В раскадровке я добавил UIStackView в UIView, а внутри UIStackView я добавил UIImageView с указанным изображением.Указанное изображение в XCAssets и имеет 2X размер 59X60.UIImageView получает свою ширину, установленную на этот собственный размер, но я хочу, чтобы он был 44X44, и изображение масштабировалось, чтобы соответствовать.Однако в раскадровке с настройками и высотой отключены и установлены значения 59X60 для ImageView, а также для UIStackView.Я хочу, чтобы 5 таких же ImageViews со звездами располагались горизонтально в 44X44 внутри UIStackView.

enter image description here

Идеи?

Обновление:Кажется, что добавление ограничения высоты к UIStackView вызовет масштабирование, но звезда тогда искажается по внешнему виду.

1 Ответ

0 голосов
/ 08 декабря 2018

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

Сначала убедитесь, что для всех пяти звездных представлений «Режим содержимого» установлен на «Соотношение сторон»:

set content mode to aspect fit

Затем ограничьте все пять видов звезд равными друг другу по ширине и высоте:

equal widths and heights constraints

Наконец, ограничьте одно из представлений звезды, чтобы иметь постоянную ширину 44 и постоянную высоту 44:

constant width and height constraints

Если вы хотите пространство между звездамиустановите «Интервал» представления стека:

stack view spacing

Если вы хотите заполнить звезды, вы можете сделать это вне представления стека, илиВы можете установить «Поля макета» в представлении стека на фиксированные константы (и отключить «Относительные поля в безопасной области»):

stack view layout margins

...