我将MFMailComposeViewController作为模态从视图控制器(让我们称之为xyz)添加到导航堆栈中 . 当用户单击取消按钮时,MFMailComposeViewController将被解除 . 当xyz以纵向/横向模式添加到导航堆栈时,此工作正常,并且在单击取消之前设备方向不会更改 .

现在的模态 - 在按钮点击上分配init MFMailComposeViewController

[self.navigationController presentModalViewController:mailController animated:NO];

dismiss modal - mailComposeController:didFinishWithResult:error

[self.navigationController dismissModalViewControllerAnimated:YES];

如果显示的xyz和邮件视图控制器之间的方向发生变化,则xyz的方向会意外更改 .

例如:

  • 设备方向纵向

  • pushViewController xyz按钮点击

  • 将设备方向更改为横向,所有视图都按预期旋转

  • 目前MFMailComposeViewController
    横向模式下显示

  • 邮件控制器

  • 点击取消或发送电子邮件

  • xyz方向旋转90度(意外) - 预期:xyz方向不应更改 .

我不知道发生了什么事 . 任何帮助表示赞赏 .