2012-02-15 7 views
2

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

Вот проблема я столкнуться,

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

- (BOOL) shouldAutorotateToInterfaceOrientation: (UIInterfaceOrientation) interfaceOrientation

{ 
     return (interfaceOrientation != UIInterfaceOrientationPortrait); 
    } 

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

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

Благодаря Нэвины

РЕДАКЦИИ:

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

Сво не дублирование этого вопроса, Пейзажный режим ТОЛЬКО для iPhone или IPad

Landscape Mode ONLY for iPhone or iPad

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

+0

Попробуйте изменить свой симулятор на пейзаж перед его запуском * с домашнего экрана * вместо Xcode. Попробуйте запустить его на самом устройстве, это золотой стандарт для его запуска. – JoePasq

+1

Беспокойный (но как ожидал Apple) ответ: сделать первый экран работы во всех направлениях. –

+0

Возможный дубликат [Пейзажный режим ТОЛЬКО для iPhone или iPad] (http://stackoverflow.com/questions/2647786/landscape-mode-only-for-iphone-or-ipad) –

ответ

1

я достиг обходной путь для задачи, и решить,

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

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

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

Теперь она работала, как ожидалось.

0

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

+0

Ссылка помогает приложению только с ландшафтом, но мое приложение может работать во всех режимах, кроме первого экрана, который работает только в Landscape. (в любом случае спасибо за ответ). – RVN

+0

Если вы установили свое приложение как UIInterfaceOrientationLandscapeLeft и UIInterfaceOrientationLandscapeRight, можете ли вы сказать, что после того, как пользователь перейдет через только начальный пейзаж, если вы настроите свои последующие контроллеры представлений на поддержку любой ориентации, которую приложение не будет работать в режиме portait? – bbarnhart

5

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

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

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

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

+0

Я попробую это, спасибо – RVN

+0

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

+0

Он работает, спасибо! – xger86x

Смежные вопросы