Размещение UIImageView с использованием AutoLayout в раскадровке iOS

Я очень плохо знаком с этой вещью AutoLayout в iOS, и мне было трудно найти хорошую документацию, чтобы прочитать и понять ее концепции.

Что мне нужно сделать, так это поместить UIImageView внутри родительского представления в положение, связанное с высотой родительского представления.

Как я пытался добиться этого, показано ниже.

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

Это работает для любого размера экрана, но только в портретной ориентации. Когда я поворачиваю устройство влево или вправо, я не вижу никакого изменения зазора между UIImageView и верхней частью ландшафтного устройства. Ниже изображение поясняет, что я имел в виду здесь.

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

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

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

1.) Почему этого не происходит, когда приложение работает на реальном устройстве?

2.) Нужно ли программно обновлять ограничения при обнаружении поворота устройства?

3.) Есть ли постоянное значение для Top Layout Guide.Bottom X и Y?

4.) Есть ли другой способ разместить этот UIImageView? Мне нужно разместить изображение на 1/3 высоты экрана в любой ориентации.


person AnujAroshA    schedule 18.04.2015    source источник
comment
Я могу ответить на пункт 4 в коде, чтобы разместить изображение с определенным кадром, но что именно происходит на реальном устройстве?   -  person BHendricks    schedule 18.04.2015
comment
@BHendricks да, таким образом мы можем добавить UIImageView. Меня беспокоит размещение его в родительском представлении независимо от ориентации устройства. То, что вы предлагаете, также дает ограничения программно. Не так ли?   -  person AnujAroshA    schedule 18.04.2015
comment
Я думаю, что это будет работать только с классом размера для достижения вашей цели.   -  person vichevstefan    schedule 18.04.2015


Ответы (1)


Ограничение, которое вам нужно, показано ниже.

изображение 1

Как вы собираетесь дать, выберите UIImageView и после того, как показано на скриншоте ниже.

изображение 2

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

Учебник по автомакету iOS с UIImageView

person AnujAroshA    schedule 25.04.2015