Проблема ориентации, когда я устанавливаю RootViewController - PullRequest
3 голосов
/ 30 июня 2011

Я делаю универсальную игру для iOS и у меня проблема с ориентацией. Мое приложение все в ландшафтном режиме. Если я делаю presentModelViewController, то все в порядке, но если я делаю setRootViewController, новый контроллер появляется в портретном режиме.

Что я делаю не так?

Ответы [ 2 ]

1 голос
/ 06 февраля 2012

Я не уверен, что это была ваша проблема, но у меня есть приложение, которое запускается с одним контроллером представления в портретном режиме, а затем я пытаюсь представить второй контроллер представления в альбомном режиме. Я также использую метод setRootViewController, чтобы мне не пришлось освобождать / перераспределять второй контроллер представления и терять информацию о моем состоянии, поскольку пользователи будут часто переключаться между двумя представлениями.

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

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

[window setRootViewController:controller];

вместо

[window addSubview:controller.view];

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

0 голосов
/ 30 июня 2011

Вы установили ключ

UIInterfaceOrientation

в файле info.plist на желаемую ориентацию?( в данном случае ландшафт )

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