2017-02-15 6 views
0

В качестве части моего пользовательского интерфейса у меня есть представление горизонтального стека, которое содержит два вертикальных представления стека. Первая вертикаль содержит две метки. Второй вертикаль содержит два моих пользовательских подкласса UIView - назовем их MyUIView.Как получить подкласс UIView для получения свободного места в виде стека

+---------+-------------------+ 
| Label 1 |    ## | 
| Label 2 |    ## | 
+---------+-------------------+ 

То, что я пытаюсь добиться (в IB, если это возможно), что левая сторона горизонтального стека иметь размеры собственного размера (самый большой из) этикеток, а правая сторона принять все доступную оставшуюся ширину. Это означает, что MyUIViews должны расширяться до этой ширины. Поэтому, независимо от того, насколько широким был экран, у меня были бы «достаточно широкие» ярлыки, а MyUIViews остальное.

Однако, независимо от того, что я стараюсь, как в IB, так и во время выполнения, MyUIViews являются маленькими или невидимыми по ширине.

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

+0

Я попробовал и реализовать те же требования, как у вас есть, но у меня нет никаких проблем с шириной как вертикальной Stack View. –

ответ

0

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

Я просто положить Hotizontal: Content Compression Сопротивление Priority к ярлыку первого вертикального стека Вид на для достижения динамической ширины.

enter image description here

+0

Ну, я проверил, и у них уже был CCRP из 751. Это был старый шаблон, основанный на ограничениях, поэтому, возможно, часть этого была оставлена. – zkarj

+0

Однако, играя с этими настройками в разных режимах распространения, я заметил, что IB не всегда правильно отражал мои изменения на дисплее. У меня были бы бары с нулевой шириной на Fill пропорционально, измените Fill Equally, и они растянут половину ширины, а затем вернутся назад, и бары останутся на полпути. Итак ... Я решил попробовать снова запустить с каждой настройкой, чтобы увидеть, что обеспечит время выполнения. Оказывается, «Fill» отлично работает. Идите фигуру. – zkarj

Смежные вопросы