UIView 旋转,模态视图横向和纵向,父级无法渲染

Posted

技术标签:

【中文标题】UIView 旋转,模态视图横向和纵向,父级无法渲染【英文标题】:UIView rotation, modal view landscape and portrait, parent fails to render 【发布时间】:2010-01-12 11:02:41 【问题描述】:

我遇到了一些障碍,希望这里有人可以帮助我。我将首先描述“游戏状态”,然后是问题所在,所以这里是;

    我有一系列与导航控制器链接在一起的视图控制器(这很好用), 所有这些视图控制器都仅支持纵向模式(按设计), 在其中一个视图控制器(实际上是“结束”)中,用户可以单击表格单元格以弹出模式视图控制器(当然使用 presentModalViewController(...)) 此模态视图控制器支持纵向和横向模式(并且有效), 但是,当用户单击此模态视图控制器上的“完成”按钮时,我们会弹出并将控制权传递回父视图控制器;
      如果用户在单击“完成”时处于纵向模式,则父级会正常显示, 如果用户在单击“完成”时处于横向模式,则父级将显示一个完全白色的空白屏幕(覆盖整个屏幕)。就好像控制器不知道如何在横向中渲染,只是不打扰。

无论用户单击“完成”按钮时手机的方向如何,我都希望能够以纵向呈现此父视图。

各种论坛帖子建议使用 UIDevice 方法“setOrientation”(但这是未记录的,显然会导致我们的应用被拒绝)。另一个建议是在 'viewWillAppear' 方法中将 'statusBarOrientation' 设置为纵向,但这没有效果。

【问题讨论】:

【参考方案1】:

不久前我遇到了类似的问题。应用因使用setOrientation 方法而被拒绝。然后我只是在横向模式下禁用了完成按钮。看来这是最简单的方法了。

【讨论】:

感谢您的回答。我实际上做了同样的事情。但这并不理想,不是吗?对于 iPhone 这样的设备来说,这似乎是非常基本的东西。这个问题一定有办法解决的……

以上是关于UIView 旋转,模态视图横向和纵向,父级无法渲染的主要内容,如果未能解决你的问题,请参考以下文章

模态视图的 Ipad 方向问题

如何将 UIView 调整为横向?

旋转放置和移动视图 (UIView)

iPad Modal View 旋转 parentViewController 视图

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

界面生成器和视图层次结构