我的 iPhone 应用程序支持上下颠倒的界面方向:当用户将手机上下颠倒(以便主页按钮在顶部)时,整个用户界面垂直翻转。
但是,当尝试从我的视图控制器A呈现一些视图控制器B时会出现问题(在此示例中,我呈现标准邮件编写器视图控制器):
- (IBAction)buttonTapped:(id)sender {
MFMailComposeViewController *mailVC = [MFMailComposeViewController new];
mailVC.mailComposeDelegate = self;
[self presentViewController:mailVC animated:YES completion:nil];
}
当这个方法被触发时,首先发生的事情是(蓝色)视图控制器A立即垂直翻转而没有动画,无论出于何种原因(如第一个屏幕截图所示)→ 为什么?
接下来呈现的视图控制器B从底部移动到视图中(应该如此)。
当关闭视图控制器B时,它会立即翻转并移出视图到顶部(而不是它来自的方向,如第二个屏幕截图所示)。
- (void)mailComposeController:(MFMailComposeViewController *)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError *)error {
[self dismissModalViewControllerAnimated:YES];
}
这是 iOS 中的错误还是如何避免这种奇怪的行为?
(我只想要与普通纵向模式相同的标准动画来呈现视图控制器 - 没有这些翻转。)