Нажмите контроллер вида в портретном режиме из контроллера вида, который находится в альбомной - PullRequest
2 голосов
/ 31 мая 2011

У меня есть UITableViewController, который работает как в портретной, так и в альбомной ориентации. С этого контроллера я помещаю другой контроллер вида на контроллер навигации. Этот новый viewController только портретный.

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

Можно ли всегда сделать так, чтобы оно появлялось на портрете? Даже если его родитель толкает его в альбомной ориентации?

Обновление:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    // Return YES for supported orientations
    return (interfaceOrientation == UIInterfaceOrientationPortrait);
}

Ответы [ 2 ]

1 голос
/ 13 апреля 2012

В viewWillAppear: после изменения ориентации строки состояния установите это:

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

Надеюсь, это поможет!

PSTested на SDK 3.2.5 IOS 5.0.1.

0 голосов
/ 31 мая 2011

В вашем viewWillAppear: используйте следующий код:

[[UIApplication sharedApplication] setStatusBarOrientation:UIInterfaceOrientationPortrait];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...