setStatusBarOrientation: анимированный: не работает в iOS 6

Я использовал этот код, чтобы принудительно изменить ориентацию на портретную, когда пользователь заканчивает просмотр видео (это позволяет просматривать в альбомном режиме), прежде чем отключить контроллер просмотра видео от контроллера навигации:

//set statusbar to the desired rotation position
[[UIApplication sharedApplication] setStatusBarOrientation:UIDeviceOrientationPortrait animated:NO];

//present/dismiss viewcontroller in order to activate rotating.
UIViewController *mVC = [[[UIViewController alloc] init] autorelease];
[self presentModalViewController:mVC animated:NO];
[self dismissModalViewControllerAnimated:NO];

[[UIApplication sharedApplication] setStatusBarHidden:NO withAnimation:UIStatusBarAnimationNone];

Это работало идеально, покаiOS 5.1.1, Я даже пытался использовать новые методы present / dismiss после прочтения в другом посте, что их следует использовать сейчас:

[self presentViewController:mVC animated:NO completion:NULL];
[self dismissViewControllerAnimated:NO completion:NULL];

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

Я даже попробовал совет отВот

& Quot;setStatusBarOrientation:animated: метод не устарел сразу. Однако теперь это работает, только еслиsupportedInterfaceOrientations метод самого верхнего полноэкранного контроллера возвращает 0. Это возлагает ответственность за то, чтобы ориентация строки состояния была согласована с вызывающим абонентом. & quot;

Итак, я экспериментировал с установкой флага для принудительногоsupportedInterfaceOrientations вreturn 0 (до вызова первого блока кода выше), но он также не работает.

У кого-нибудь есть решение для этого? Спасибо за ваше время и усилия.

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

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