Ця відповідь стосується питань, заданих у коментарях до допису ОП:
Щоб змусити подання виглядати в заданому напрямку, поставте наступне в viewWillAppear:
UIApplication* application = [UIApplication sharedApplication];
if (application.statusBarOrientation != UIInterfaceOrientationPortrait)
{
UIViewController *c = [[UIViewController alloc]init];
[self presentModalViewController:c animated:NO];
[self dismissModalViewControllerAnimated:NO];
}
Це трохи зламано, але це змушує UIViewController
бути представленим у портретному режимі, навіть якщо попередній контролер був альбомним
ОНОВЛЕННЯ для iOS7
Наведені вище методи тепер застаріли, тому для iOS 7 використовуйте наступне:
UIApplication* application = [UIApplication sharedApplication];
if (application.statusBarOrientation != UIInterfaceOrientationPortrait)
{
UIViewController *c = [[UIViewController alloc]init];
[c.view setBackgroundColor:[UIColor redColor]];
[self.navigationController presentViewController:c animated:NO completion:^{
[self.navigationController dismissViewControllerAnimated:YES completion:^{
}];
}];
}
Цікаво, що на момент написання статті або подарунок, або звільнення повинні бути анімовані. Якщо ні те, ні інше, ви отримаєте білий екран. Не знаю, чому це змушує це працювати, але це робить! Візуальний ефект різниться залежно від того, який анімований.