Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
错误的iOS8状态栏?_Ios_Swift_Ios8 - Fatal编程技术网

错误的iOS8状态栏?

错误的iOS8状态栏?,ios,swift,ios8,Ios,Swift,Ios8,我正在开发一个在iOS7和iOS8上运行的应用程序,它只有一个屏幕支持多个方向,其他屏幕不应该旋转。为此,我在应用程序的plist中启用应用程序范围内的所有“设备方向”设置,并让每个控制器返回自己的方向设置 接口方向行为现在是正确的,只有iOS8上的状态栏除外。下面是一些重现问题的最简单方法的屏幕截图: 当设备处于纵向时,一切正常。 在iOS7上,旋转设备不会导致任何问题。 在iOS8上,旋转设备会导致状态栏也旋转,但接口的其余部分不会旋转 此演示应用程序只有一个视图控制器。以下是Swift

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

接口方向行为现在是正确的,只有iOS8上的状态栏除外。下面是一些重现问题的最简单方法的屏幕截图:

当设备处于纵向时,一切正常。

在iOS7上,旋转设备不会导致任何问题。

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

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

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

在iOS8中有没有解决这个问题的方法?

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


该问题是由多个UIWindow引起的。另一个窗口用于在某些情况下以模态方式显示信息,因此我们只需让它以不可见的方式悬停在其他所有窗口之上。但是,这可能是一种不好的方法,因为该窗口将劫持原始窗口应该接收的一些调用。

漂亮的屏幕截图:你能把这个演示应用发布到某个地方吗,比如github,我可以在那里下载并试用?我在iOS 8的早期就看到过这种问题,但我现在还不清楚是什么导致了它。我的猜测是,您的Info.plist或ApplicationIDFinishLaunching代码中的其他地方出现了错误,但如果我自己能看到,这将是最简单的。尽管有人声称在iOS 8中,所有与旋转相关的方法都已被弃用,但iOS 8仍然调用并尊重supportedInterfaceOrientations:\u8。这在早期测试种子中是不正确的。我在Xcode 6.3.1中创建的一个新示例项目按预期工作。