preferredInterfaceOrientationForPresentation 不起作用

Posted

技术标签:

【中文标题】preferredInterfaceOrientationForPresentation 不起作用【英文标题】:preferredInterfaceOrientationForPresentation not working 【发布时间】:2016-01-31 00:48:26 【问题描述】:

我试图以编程方式强制一个弹出视图为横向,同时我在项目设置中将应用程序的设备方向设置为纵向。 我的代码如下所示:

override func shouldAutorotate() -> Bool 
    return true


override func preferredInterfaceOrientationForPresentation() -> UIInterfaceOrientation 
    return UIInterfaceOrientation.LandscapeLeft

这不起作用,所以我尝试添加:

override func supportedInterfaceOrientations() -> UIInterfaceOrientationMask 
    return UIInterfaceOrientationMask.All

但仍然没有旋转。为什么会这样?

【问题讨论】:

【参考方案1】:

视图控制器唯一获得轮换发言权的情况是它是 root 视图控制器或 全屏呈现 视图控制器。您的视图控制器(弹出框)既不是;因此它在轮换中没有发言权。

【讨论】:

它以弹出框的形式呈现。这是我的问题吗? 是的。一个简单的弹出框怎么会改变整个应用程序的方向。 也许我的问题措辞不正确。我只希望弹出视图是横向的,应用程序的其余部分应该保持纵向 我不明白你的意思。弹出框没有“方向”。您可以尝试指定其形状,使其宽于高,但您可能不会成功...

以上是关于preferredInterfaceOrientationForPresentation 不起作用的主要内容,如果未能解决你的问题,请参考以下文章