使用多个不都支持横向模式的 UIWindows 时出现问题
Posted
技术标签:
【中文标题】使用多个不都支持横向模式的 UIWindows 时出现问题【英文标题】:Issue when using multiple UIWindows that don't all support landscape mode 【发布时间】:2014-12-02 20:21:22 【问题描述】:我有一个使用两个 UIWindows 的非常简单的测试 ios8 应用程序。第一个窗口只允许以纵向模式显示。当显示时,第二个窗口允许 AllButUpsideDown。
第一个窗口中的按钮可用于显示第二个窗口...
第二个窗口支持横向模式,如下图...
如果第二个窗口在横向模式下被关闭(移除),第一个窗口现在看起来 如下所示..
为什么左侧的状态栏是横向的?另外,我注意到 [UIScreen mainScreen].bounds 是横向大小?
(设置状态栏方向没有任何作用)
任何帮助将不胜感激,谢谢。
【问题讨论】:
【参考方案1】:我找到了解决方案并认为我会分享..
要强制改变方向,您必须“呈现”一个视图控制器,该控制器的preferredInterfaceOrientationForPresentation 方法设置为您想要的方向。因此,在上述情况下,主窗口的根视图控制器可以呈现/关闭一个空白视图控制器,并将其首选方向设置为纵向。
【讨论】:
【参考方案2】:当您单击“窗口 2”的右侧部分时,会发生什么?如果您查看单击的点,您是否有正确的坐标?
【讨论】:
以上是关于使用多个不都支持横向模式的 UIWindows 时出现问题的主要内容,如果未能解决你的问题,请参考以下文章
setRefreshed:在横向模式下发送到 UIViewController 的无法识别的选择器