1

我的 UIVewController 和旋转出现问题,我可以通过一些帮助来解决。

基本上,我有一个可以从纵向旋转到横向的视图。当它旋转到横向时,我向我的纵向视图呈现一个不同的视图(图表)......这是一个基于 UITableView 的输入视图。这一切都很好。

现在,我的纵向视图(并且只有我的纵向视图)还有一个“电子邮件”按钮,按下该按钮时,会创建并呈现 MFMailComposeViewController,以便用户可以通过电子邮件发送一些数据。

这工作正常,但如果用户在 MFMailComposeViewController 视图上将 iphone 旋转到横向,我的底层视图不会收到旋转通知,所以我知道将底层视图更改为图表视图。因此,当用户在仍处于横向时关闭邮件视图时,我会在横向中看到原始的“纵向”输入视图,该视图位置不正确且显示不正确。

那么,当 MFMailComposeViewController 显示时,我是否可以在原始肖像 ViewController 中获得旋转通知,以便在原始视图重新出现时进行基本更改?或者,当 MFMailComposeViewController 旋转时,我可以防止底层视图旋转吗?

希望这是有道理的,并感谢您的建议。

4

1 回答 1

1

尝试-(UIInterfaceOrientation)preferredInterfaceOrientationForPresentation在您的父 ViewController 中实现并将其设置为 UIInterfaceOrientationPortrait。

您还可以查看 MFMailComposeViewController 正在做什么,但我认为您必须对其进行子类化并实现-(void)didRotateFromInterfaceOrientation:,然后通过通知或委托发送回信息……但您不需要使用 preferredInterfaceOrientationForPresentation。

希望这可以帮助!

于 2012-12-10T16:59:54.590 回答