我将 MFMailComposeViewController 作为模式从添加到导航堆栈的视图控制器(我们称之为 xyz)呈现。当用户单击取消按钮时,MFMailComposeViewController 被解除。当 xyz 以纵向/横向模式添加到导航堆栈并且设备方向在单击取消后才会改变时,这可以正常工作。
呈现模式 - 按下按钮时分配初始化 MFMailComposeViewController
[self.navigationController presentModalViewController:mailController animated:NO];
关闭模式 - mailComposeController: didFinishWithResult: 错误
[self.navigationController dismissModalViewControllerAnimated:YES];
如果在显示 xyz 和取消邮件视图控制器之间方向发生变化,则 xyz 的方向会意外更改。
例如:
- 设备方向纵向
- pushViewController xyz 点击按钮
- 将设备方向更改为横向,所有视图都按预期旋转
- 目前 MFMailComposeViewController
- 以横向模式显示的邮件控制器
- 点击取消或发送电子邮件
- xyz 方向旋转 90 度(意外) - 预期:xyz 方向不应改变。
我不知道发生了什么事。任何帮助表示赞赏。