Segue 导致 UITabBarController 在 Swift 中向上移动状态栏?

Segue causes UITabBarController to shift status bar up in Swift?

关于如何限制屏幕方向,我遇到了一个奇怪的问题。

这是我的故事板的样子:

我只将屏幕方向设置为 纵向

在我的 AppDelegate 中,我有以下内容:

func application(application: UIApplication, supportedInterfaceOrientationsForWindow window: UIWindow?) -> UIInterfaceOrientationMask
{
    if self.window?.rootViewController?.presentedViewController is VideoPlayerViewController
    {
        return UIInterfaceOrientationMask.Landscape;
    }
    else
    {
        return UIInterfaceOrientationMask.Portrait;
    }
}

在“主页”选项卡中,单击红色播放按钮或任何单元格都会对我的 VideoPlayerViewController 执行转场。我已将 VideoPlayerViewController 限制为仅横向。

但是,就在 segue 发生之前,发生了这种情况:

基本上,在第二张图片中,红色部分向上移动,将状态栏推开。

然后在第 3 张图片中,前 2 个标签略微向偏移,而最后 2 个标签略微向 右偏移[=43] =].

再一次,所有这些都发生在模态转场发生之前。

这可能是什么原因造成的?让我知道是否需要包含其他代码..

为了尽可能多地删除与 post 上 github 上的示例代码无关的代码以供其他人帮助调试,我找到了我的问题的罪魁祸首。

与我代码中的override func prefersStatusBarHidden()有关,导致状态栏偏移,现已解决。