Приложение для iPad запустится в ландшафтном режиме - PullRequest
2 голосов
/ 15 февраля 2012

Я искал другие существующие сообщения, но ни одна из них не удовлетворяла моим требованиям.

Вот проблема, с которой я сталкиваюсь,

  1. Мое приложение поддерживает режимы, альбомную и книжную ориентацию.
  2. Но мой первый экран поддерживает только альбомную ориентацию, поэтому приложение должно запускаться в альбомной ориентации.
  3. Я установил поддерживаемую ориентацию на все 4 варианта
  4. Я установил начальную ориентацию интерфейса на Пейзаж (левая кнопка домой)
  5. В контроллере вида первого экрана я определяю следующее

- (BOOL) shouldAutorotateToInterfaceOrientation: (UIInterfaceOrientation) interfaceOrientation

    {
        return (interfaceOrientation != UIInterfaceOrientationPortrait);
    }

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

Может кто-нибудь помочь мне с решением, чтобы избежать этого?

Спасибо Нэвин

отредактировано:

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

Это не дублирование этого вопроса, альбомный режим только для iPhone или iPad

Пейзажный режим ТОЛЬКО для iPhone или iPad

Я не хочу, чтобы мое приложение было только в альбомной ориентации, я хочу, чтобы только первый экран моего приложения был только в альбомной ориентации.

Ответы [ 3 ]

5 голосов
/ 10 июля 2012

Я немного поэкспериментировал с приложением, над которым я работаю, и которое имеет те же требования, и придумал следующее:

  1. Чтобы установить initial ориентации, которые поддерживаются при первом запуске приложения, используйте параметр «Поддерживаемые ориентации устройства» для своей цели.enter image description here Также подкрепите его соответствующим кодом shouldAutorotateToInterfaceOrientation, как вы уже сделали.

  2. Для последующих экранов просто используйте код shouldAutorotateToInterfaceOrientation, чтобы определить, какие ориентации вы хотите поддерживать.Даже если вы указали только режимы альбомной ориентации для Поддерживаемой ориентации устройства, выигрывает shouldAutorotateToInterfaceOrientation.:)

Я думаю, что этот подход немного чище, чем использование дополнительного фиктивного ВК.

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

Я нашел обходной путь для решения проблемы, и он решил,

Я создал фиктивный контроллер представления и добавил его в качестве корневого контроллера представления окна.

Добавлен метод, приведенный ниже, в реализации

    -(void)viewDidAppear:(BOOL)animated
    {
        WelcomeScreen *welcomeScreen = [[[WelcomeScreen alloc] initWithNibName:@"WelcomeScreen" bundle:nil] autorelease];
        [self presentModalViewController:welcomeScreen animated:NO];
    }

Теперь он работает как положено.

0 голосов
/ 15 февраля 2012

Вот ссылка SO , которая, мы надеемся, ответит на ваш вопрос о том, как запустить ваше приложение в альбомном режиме.

...