我在应用程序电子邮件中使用MFMailComposeViewController,它在纵向模式下工作正常。但是当我的支持两种方向的应用程序都处于横向模式时, 使用[self presentModalViewController:mailVC animated:YES];
强制我的整个应用进入我不想要的肖像模式。
我已经尝试了很多东西来覆盖MFMailComposeViewController shouldAutorotateToInterfaceOrientation:方法,让第一个响应者辞职等等,没有太多运气。
如何在iPad上使用MFMailComposeViewController在Landscape中工作?
答案 0 :(得分:2)
我有同样的问题,并尝试重写,这对我没有帮助。
尝试将“presentModalViewController:”发送到应用程序窗口的rootViewController(在AppDelegate中)。
我认为这对我有用,因为MFMailComposeViewController不能强制rootViewController方向,但可以强制由rootViewController的navigationController推送的viewControllers的方向。
你需要这样的东西:
[((AppDelegate *)[UIApplication sharedApplication]).window.rootViewController presentViewController:mailVC animated:YES completion:nil];
答案 1 :(得分:1)
尝试覆盖自动旋转功能:
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
return ((interfaceOrientation == UIInterfaceOrientationLandscapeLeft) ||
(interfaceOrientation == UIInterfaceOrientationLandscapeRight));
}
或者,从UIViewController呈现MFMailComposeViewController,它管理应用程序内的旋转。