Интерфейс iPadОриентация не читается при нажатии на новый контроллер представления - PullRequest
0 голосов
/ 15 октября 2010

Я пишу приложение для iPad, которое использует меню из всплывающего окна для изменения отображаемого вида. У меня есть контроллер корневого представления, который всегда присутствует и меняет свое представление содержимого на контроллеры вспомогательного представления, например, «Главная», «Новости» и т. Д. *

Теперь вот проблема: допустим, я на Домашнем контроллере в портретном режиме, затем перехожу к новостному контроллеру, затем поворачиваюсь в альбомную ориентацию, корневой контроллер вращается нормально, как и новостной контроллер, который он содержит. Но когда я возвращаюсь к домашнему контроллеру, он все еще находится в портретном режиме. Вид поворачивается в альбомную ориентацию, но его размер остается портретным, поэтому ширина по-прежнему составляет (768 пикселей в ширину). Корневой контроллер представления, который представляет все субконтроллеры, вращается правильно, представление содержимого не вращается, если оно отсутствует

Как мне это исправить? Я думаю, что-то, что я мог бы установить в viewWillAppear, но попытка принудительно установить interfaceOrientation не работает, так как он доступен только для чтения.

Спасибо

Ответы [ 2 ]

1 голос
/ 15 октября 2010

Попробуйте [self setAutoResizesSubviews:YES] в методе viewDidLoad: на вашем корневом контроллере представления.

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

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

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

Ничто не похоже на работу. Когда устройство находится в альбомной ориентации, а весь контент также находится в альбомной ориентации, текущий контроллер навигации отображает текущее представление и выдвигает новое представление. ВСЕГДА помещайте новое представление и все содержимое экрана в портретное.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...