2012-01-22 1 views
0

Как изменить размеры ViewController? Я делаю простое приложение, которое использует намеренно два вида: одно для горизонтального и одно для вертикального просмотра. Я пытался изменить его статус инспектора, но поля серые и неизменяемы.View Controller resize

+0

Вы говорите об изменении ориентации для одного вида или просто загружаете новый вид, когда меняется ориентация? – Shubhank

+0

Два независимых представления, которые будут похожи на один «тот же», но изменить размер. Но под капотом они равны 2. один 320 * 460 и второй 460 * 320, и я хочу изменить второй размер от 320 * 460 -> 460 * 320 и idk как. – Stepo

+0

не понял ... если вы хотите изменить код размера представления, я могу дать ему ... но размер представления автоматически изменяется при изменении ориентации ... если устройство находится в горизонтальном направлении .. и затем вы устанавливаете вид на 320 x 480, тогда большинство элементов будут заходить в экран ... подробнее – Shubhank

ответ

1

UIViewControllers не несет ответственности за установку размера корневого представления. Ожидается, что родительский элемент представления контроллера вида (либо окна, либо какого-либо контроллера контейнера) отрегулирует размер представления, чтобы заполнить окно, поместиться над панелью вкладок или иным образом быть соответствующим образом расположенным. Поэтому Interface Builder не позволяет вам вводить в заблуждение значения фреймов.

Чтобы преобразовать представление в соответствии с ориентацией, я предлагаю добавить два под-представления в корневой режим и использовать один для каждой ориентации. Даже тогда размер, который вы установили для них в Interface Builder, несколько вводит в заблуждение; вы сможете установить нужные вам размеры, вы должны установить их свойства авторазрешения, чтобы они расширялись/сокращались, чтобы заполнить их родительский вид. Таким образом, ваш макет не будет разбиваться, когда высота строки состояния изменится или вы добавите контроллер представления контейнера.