错误的iOS8状态栏?

时间:2015-05-18 16:22:43

标签: ios swift ios8

我正在使用在iOS7和iOS8上运行的应用程序,该应用程序只有一个支持多个方向的屏幕,其他屏幕不应该旋转。为实现此目的,我启用了所有“设备定位”功能。在应用程序的plist中应用程序范围内设置,并让每个控制器返回自己的方向设置。

界面方向行为现在正确,但iOS8上的状态栏除外。以下是重现此问题的最简单方法的截图:

当设备处于纵向状态时,一切正常。 When the device is in portrait, everything is OK.

在iOS7上,旋转设备不会导致任何问题。 On iOS7, rotating the device doesn't cause any issues.

在iOS8上,旋转设备会导致状态栏也旋转,但界面的其余部分也不会旋转。

On iOS8, rotating the device causes the status bar to also rotate, but the rest of the interface does not.

此演示应用只有一个视图控制器。这是Swift代码:

import UIKit
class TestController: UIViewController {
    override func supportedInterfaceOrientations() -> Int {
        return Int(UIInterfaceOrientationMask.Portrait.rawValue)
    }
}

有没有办法在iOS8中修复或解决此问题?

1 个答案:

答案 0 :(得分:0)

感谢您的评论,他们帮助我指出了正确的方向。我之前尝试简化问题的尝试仍在原始应用程序中,并且该问题无法在全新的应用程序中重现...

问题是由多个UIWindow造成的。另一个窗口用于在某些情况下以模态方式显示信息,因此我们只是将其隐藏在其他所有内容之上。但是,这可能是一个糟糕的方法,因为该窗口将劫持原始窗口应该接收的一些调用。