У меня есть приложение, которое в основном использует только портретный режим. Однако, когда он представляет MFMailComposeViewController
и MFMessageComposeViewController
, он может поворачиваться к пейзажу. Это отлично работает до iOS 8, где они все еще вращаются, но их границы, похоже, следуют неправильной ориентации.MFMailComposeViewController и MFMessageComposeViewController имеют неправильные границы после вращения в iOS 8
У меня есть приложение в портретном режиме и присутствует один из этих контроллеров. Когда я повернуть телефон в пейзаже я получаю следующий результат:
MFMailComposeViewController
:
MFMessageComposeViewController
:
EDIT: Вот код для представления композиторы:
MFMailComposeViewController *mailComposeViewController = [[MFMailComposeViewController alloc] init];
mailComposeViewController.mailComposeDelegate = self;
[mailComposeViewController setSubject:subject];
[mailComposeViewController setMessageBody:body isHTML:NO];
[self presentViewController:mailComposeViewController animated:YES completion:^{
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleDefault];
}];
EDIT: Если я инспектировать мнения в View Debugger я могу видеть, что хотя UIWindow
повернут в ландшафтном ни один из нижележащих взглядов есть. Это включает UITransitionView
и UILayoutContainerView
.
Я принимаю ваше создание освобождение в AppDelegate? Можете ли вы показать, что код – soulshined
Вы думаете о приложении ' : supportedInterfaceOrientationsForWindow:' method? Мы не используем это. Вместо этого мы разрешаем портрет и пейзаж в plist, а затем используем 'shouldAutorotate' и' supportedInterfaceOrientations' в наших контроллерах. – pajevic
Пожалуйста, добавьте демонстрационный проект –