UIStackView с пропорциональной шириной для суперпредставления - PullRequest
0 голосов
/ 31 декабря 2018

Мне нужно увеличить размер горизонтального UIStackView в зависимости от ширины суперпредставления.Все кнопки в UIStackView имеют фиксированную ширину и высоту.Я попытался установить ограничение autolayout с помощью stackview.width = superview.width * 0.3, но оно не соответствует ширине superview.Как правильно этого достичь?

Ответы [ 3 ]

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

Мне нужно увеличить размер горизонтального UIStackView в зависимости от ширины суперпредставления.Все кнопки в UIStackView имеют фиксированную ширину и высоту.Я попытался установить ограничение autolayout с помощью stackview.width = superview.width * 0.3, но оно не соответствует ширине суперпредставления

Я не знаю, что вы имеете в виду под словом «оно пропускает ширину суперпредставления».Для этого и используется ограничение множитель .Если вы правильно используете множитель, вы получите желаемый результат.

0 голосов
/ 02 января 2019

Вы должны играть с приоритетом горизонтального объятия и приоритетом сопротивления горизонтальному сжатию.

Уменьшая приоритет сжатия и объёма вашего stackView, вы указываете autoLayout изменять размер stackView для соответствия superView, а не superView для соответствия stackView.

Надеюсь, это поможет

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

Это

1-"buttons in UIStackView are fixed width & height"  

Противоречит

2- "stackview.width = superview.width * 0.3"

Поскольку вам нужно сделать что-то из них гибким

Так что либо игнорируйте статическую ширину, высоту кнопок и набор

stackView.distriburion = .fillEqually

, чтобы сделать их равномерно распределенными, или игнорировать пропорциональную ширину stackView и установить

stackView.distriburion = .fill

, чтобы он увеличивался в соответствии с размером

...