2016-03-21 3 views
5

私は画面の向きをどのように制限しているかに関して、奇妙な問題があります。Segueにより、UITabBarControllerがSwiftでステータスバーを上に移動させますか?

は、ここに私のストーリーボードは次のようになります。

enter image description here

私は画面の向きが縦のみに設定されています。 [ホーム]タブで

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

、私のVideoPlayerViewControllerにセグエを実行します赤い再生ボタンまたは細胞のいずれかのいずれかをクリック:私AppDelegateで

、私は次のよう持っています。私はVideoPlayerViewControllerをランドスケープ専用に制限しました。

しかし、セグエが発生する直前に、この問題が発生した:

enter image description hereenter image description here

を基本的には、何が起こっていることのうち、ステータスバーを押して、第二画像で、赤い部分がシフトアップということです方法。最後の2つのタブが右にわずかにシフトさせながら次に第3の画像に、第2タブがにわずかにずれている

を残しました。

もう一度、これはすべてモーダルセグが発生する直前に発生します。

この原因は何ですか?追加のコードを含める必要がある場合は教えてください。

+0

ストーリーボードに設定した制約について教えてください。 –

+0

多くの制約があります。私はgithubにサンプルコードを投稿して、問題のデバッグに役立てることができます。 – Pangu

答えて

0

githubにサンプルコードを投稿してデバッグに役立てるために無関係なコードをできるだけ削除しようとすると、私の問題の原因が見つかりました。

これは、コード内でoverride func prefersStatusBarHidden()に関連しているため、ステータスバーのシフトが発生し、解決されました。

関連する問題