2015-07-10 5 views
0

enter image description hereНужна помощь в отношении Автокомпоновка

Я поместил UIView размера w=140, h=33 в положении x=16 ,y=20 и применил эти ограничения.

enter image description here

Я хочу, чтобы UIView для отображения на половине экрана, независимо от ориентации или размер экрана.

Но результат этого в портретной ориентации

enter image description here

И в альбомной ориентации UIView равны нулю.

Почему я получаю такое поведение, В autolayout ширина просмотра & Высота рассчитывается на основе ограничений.

+0

Попробуйте установить ограничение по высоте и удаление «снизу пространство» ограничение – scollaco

+0

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

+0

взять на себя управление супервизией, сверху до супервизора, пропорциональную ширину для просмотра и пропорции к себе. –

ответ

2

Мне удалось выяснить, как добиться именно того, что вы ищете. Это довольно просто, как только вы это выясните. Во-первых, очистите все ваши ограничения. Поместите UIView через весь экран, как так:

View

Затем добавить ограничения равным 0 в SuperView.

Constariants

EDIT: Теперь вам нужно использовать множитель 2 до половины размера коробки.

Затем перейдите к Инспектору размеров и выберите «Прослеживание пробела» для просмотра и нажмите «Изменить». Вам будет представлен экран редактирования, где вы увидите свойство множителя. Установите его на 0,5, а вуаля всегда будет посередине экрана.

Superview

Рассматривают также добавить ограничение высоты, как если бы вы этого не сделаете вид прибудете сжались. Это довольно просто. Вид будет автоматически обновляться, и вы получите этот конечный результат: enter image description here

Надежда, что помогает, Джулиан

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