MFMailComposeViewController在iPad上强制纵向方向

时间:2011-01-18 08:01:28

标签: iphone ipad

我在应用程序电子邮件中使用MFMailComposeViewController,它在纵向模式下工作正常。但是当我的支持两种方向的应用程序都处于横向模式时, 使用[self presentModalViewController:mailVC animated:YES];

强制我的整个应用进入我不想要的肖像模式。

我已经尝试了很多东西来覆盖MFMailComposeViewController shouldAutorotateToInterfaceOrientation:方法,让第一个响应者辞职等等,没有太多运气。

如何在iPad上使用MFMailComposeViewController在Landscape中工作?

2 个答案:

答案 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,它管理应用程序内的旋转。