【发布时间】:2015-02-24 15:18:21
【问题描述】:
我有一个主要只使用纵向模式的应用程序。但是,当它呈现MFMailComposeViewController 和MFMessageComposeViewController 时,它能够旋转到横向。这在 iOS 8 之前一直运行良好,它们仍在旋转,但它们的边界似乎遵循错误的方向。
我的应用程序处于纵向模式,并展示了其中一个控制器。当我将手机旋转到横向时,我得到以下结果:
MFMailComposeViewController:
MFMessageComposeViewController:
编辑: 以下是展示作曲家的代码:
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];
}];
编辑:
如果我检查 View Debugger 中的视图,我可以看到尽管 UIWindow 已旋转为横向,但没有任何底层视图具有。这包括UITransitionView 和UILayoutContainerView。
【问题讨论】:
-
我假设您在 AppDelegate 中创建豁免?你能显示那个代码吗
-
你在考虑`application:supportedInterfaceOrientationsForWindow:`方法吗?我们没有使用这个。相反,我们在 plist 中允许纵向和横向,然后在我们的视图控制器中使用
shouldAutorotate和supportedInterfaceOrientations。 -
请添加演示项目
-
Leo,我已经尝试在另一个应用程序中复制这种行为,但我做不到,所以演示项目可能不会有任何好处。存在此问题的应用程序非常大,并且是由另一个团队开发的。所以我想我主要是在寻找可能导致这种行为的建议。
-
你如何展示模型?可以添加演示代码吗?
标签: ios iphone ios8 mfmailcomposeviewcontroller mfmessagecomposeview