Как я могу указать, где я хочу, чтобы элементы пользовательского интерфейса изменяли ориентацию в Интерфейсном Разработчике? - PullRequest
0 голосов
/ 20 декабря 2010

Хорошо, я знаю, что это вопрос новичка, но то, что я новичок, это нормально! У меня есть мнение, что я пытаюсь сделать ориентацию дружественной в IB, и у меня есть некоторые трудности.

Конечно, у меня все хорошо смотрится в портретной ориентации, но затем, когда я перехожу в ландшафтный режим (нажимая стрелку в верхнем правом углу), все запутывается.

Теперь, из-за способа расположения вида, мне нужно выровнять 3 кнопки вдоль нижней части изображения в портретной ориентации, а затем в альбомной ориентации, эти три кнопки должны быть симметрично выровнены по правой стороне. 1005 *

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

Я искал полезное руководство по IB, но ничего не смог найти.

Ответы [ 2 ]

0 голосов
/ 20 декабря 2010

Использование функций автоматического изменения размера IB может сделать очень многое.PengOne хорошо описывает их во втором абзаце.Если их недостаточно, вы должны перемещать элементы программно.См. Ответ на изменения ориентации .В противном случае вы можете просто использовать совершенно другой вид, как уже упоминалось в PengOne.

0 голосов
/ 20 декабря 2010

Я знаю, что вы хотите сделать это в IB, но если вы хотите попробовать это программно, то вы можете довольно легко перемещать вещи.Для ваших кнопок просто реализуйте метод setCenter следующим образом:

[myButton setCenter:CGPointMake(xCenter,yCenter)];

В противном случае, если вы хотите использовать IB, используйте параметры автоматического изменения размера.Стрелки будут растягивать или сжимать ширину и высоту, а столбцы (| - |) сохраняют расстояния сверху и снизу.Если у вас есть три кнопки подряд, вы можете зафиксировать левое расстояние для левой кнопки, правильное расстояние для правой кнопки и оба / ни для центральной кнопки.Нечто подобное может сработать.

Третий вариант - создать новый вид, назвать его ландшафтным видом или чем-то еще, перетащив UIView из библиотеки в окно с владельцем файла, первым ответчиком, видом и т. Д.Сориентируйте это на ландшафт, скопируйте все ваши объекты пользовательского интерфейса, расположите их так, как вам нравится, и, когда вы поворачиваете, замените текущий вид на ландшафтный.Проблема с этим, которую я обнаружил (одна из многих), заключается в том, что вам нужно все заново подключить и иметь разные IBOutlets для меток и еще много чего.T

...