IOS 6 принудительно ориентирует устройство на ландшафт

Я дал приложение, скажем, с 10 контроллерами представления. Я использую навигационный контроллер для загрузки / выгрузки их.

Все, кроме одного, в портретном режиме. Предположим, 7-й ВК находится в ландшафте. Мне нужно, чтобы он был представлен в ландшафте, когда он загружается.

Please suggest a way to force the orientation go from portrait to landscape in IOS 6 (и будет хорошо работать в IOS 5).

Вот как я это делалBEFORE IOS 6:

- (void)viewWillAppear:(BOOL)animated {
    [super viewWillAppear:animated];
    UIViewController *c = [[[UIViewController alloc]init] autorelease];
    [self presentModalViewController:c animated:NO];
    [self dismissModalViewControllerAnimated:NO];
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation{
    return (interfaceOrientation == UIInterfaceOrientationPortrait);
}

Представление и отклонение модального VC заставляло приложение пересмотреть свою ориентацию, поэтомуshouldAutorotateToInterfaceOrientation звонил.

What I have have tried in IOS 6:

- (BOOL)shouldAutorotate{
    return YES;
}
-(NSUInteger)supportedInterfaceOrientations{
    return UIInterfaceOrientationMaskLandscape;
}
- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation{
    return UIInterfaceOrientationLandscapeLeft;
}

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

Еще одна проблема: после поворота устройства обратно в портретную ориентацию переходит в портретную, хотя я указал вsupportedInterfaceOrientations толькоUIInterfaceOrientationMaskLandscape, Почему так происходит?

Также,NONE из вышеупомянутых 3 методов вызывают.

Some (useful) data:

In my plist file I have specified 3 orientations - all but upside down. The project was started in Xcode 4.3 IOS 5. All classes including xibs were created before Xcode 4.5 IOS 6, now I use the last version. In plist file the status bar is set to visible. In xib file (the one I want to be in landscape) the status bar is "None", the orientation is set to landscape.

Любая помощь приветствуется. Благодарю.

Ответы на вопрос(12)

Ваш ответ на вопрос