当模态视图可见且 iPad 旋转时,UIPopover 的内容会更改为随机方向

Posted

技术标签:

【中文标题】当模态视图可见且 iPad 旋转时,UIPopover 的内容会更改为随机方向【英文标题】:Contents of UIPopover change to random orientation when Modal View is visible and iPad rotated 【发布时间】:2010-10-05 21:35:17 【问题描述】:

我在弹出窗口中显示的导航控制器中有一个UITableView。当您从弹出框内(在详细视图上)按下一个条形按钮时,它会显示一个模态视图。如果您在弹出框可见且模态视图位于其上的情况下旋转 iPad,则弹出框的内容会更改为看似随机的方向,如下所示。

知道这里发生了什么吗?

更新: 我正在尝试实施解决方案,也许有更好的方法。当模态视图被关闭时,我从- (void)mailComposeController:(MFMailComposeViewController *)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError *)error 向弹出框的所有者发送NSNotification。 当我按下取消时,按钮被明显按下,但之后没有任何反应,屏幕变得无响应。但是,旋转仍然可以正常进行。

我似乎在模式视图被关闭之前关闭了弹出框。我真的不知道有任何其他方法可以做到这一点,感谢您继续提供帮助。

【问题讨论】:

【参考方案1】:

我不得不完全重新加载弹出框及其视图控制器。这是我可以掩盖问题而不是解决问题的唯一方法,因为这似乎是 ios 3.2 中的一个错误。

【讨论】:

赞成。我在很多应用程序中都看到了这一点,我认为您可能是对的。【参考方案2】:

您是否尝试过关闭弹出框然后重新显示? The UIPopoverController documentation 直截了当地说它经常无法旋转弹出框,并建议将其重新显示为唯一的解决方案。我怀疑由于您的模态视图位于显示弹出框的视图之上,因此弹出框的控制器不会更新其位置和方向。

【讨论】:

重新显示没有改变。我终其一生都无法确定原因。也许这与它有关:我正在从一个视图创建并显示模态视图,该视图已从 uipopover 内的导航控制器内的另一个视图推送。

以上是关于当模态视图可见且 iPad 旋转时,UIPopover 的内容会更改为随机方向的主要内容,如果未能解决你的问题,请参考以下文章

iPad 视图旋转问题

iPad Modal View 旋转 parentViewController 视图

iPad 模态控制器在旋转后被解散

iPad 模态视图控制器以纵向动作,即使它是横向的

模态视图的 Ipad 方向问题

模态 VC 和旋转的自定义背景