2017-07-26 14 views
9

にプッシュ私は、ルートビューでiOSの11iOSの11ナビゲーションバー大タイトルポップ・ビュー・コントローラ

のための新たなナビゲーションバーに問題があるが、コードによって新しいナビゲーションを設定すると、黒の色を持っている:

if (@available(iOS 11.0, *)) { 
    self.navigationController.navigationBar.prefersLargeTitles = YES; 
    self.navigationItem.largeTitleDisplayMode = UINavigationItemLargeTitleDisplayModeAlways; 
} 

はその後、ルートビューから、私は別のビューにプッシュし、それがうまく機能

if (@available(iOS 11.0, *)) { 
    self.navigationItem.largeTitleDisplayMode = UINavigationItemLargeTitleDisplayModeNever; 
} 

によってコードナビゲーションバーを設定します。しかし、下の画像のように登場したときにプッシュとポップは黒色を表示:ナビゲーションバーがあるため、私は地面に戻って設定していないものの、黒い色は、このビューに登場する理由

enter image description here

私は知りません私のアプリでは画面全体の黒色です。

誰かが問題の考えを持っています。そのバグを解決するための提案を私にお送りください。ありがとう。

+0

アカウントコードを表示 –

答えて

5

私はUINavigationControllerをサブクラス化し、そのview.backgroundColorを設定することでこれを自分のアプリケーションで解決しました。

+0

はい。コードによる暗い影は、ルートのナビゲーションでクリアな色を設定します。 –

+0

私は同意しますが、表示される色は選択した色よりも暗く、理由はわかりません。 – sancho

+0

@sancho Shadows、多分? – cook

3

私は黒の色を取得しているUIViewControllerクラスのナビゲーションコントローラの背景色を設定してこの問題を解決しました。ここで

は、私が使用するコードです:

navigationController?.view.backgroundColor = UIColor.white 

私は、ストーリーボードで背景色や影を変更しようとしたが、この問題を解決していないようです。うまくいけば、この答えはまだここでは関連しています。

1

私はあなたがストーリーボードから背景色を変更することができます単純な拡張

extension UINavigationController { 

    @IBInspectable var backgroundColor: UIColor { 
     set { 
      self.view.backgroundColor = newValue; 
     } 
     get { 
      return self.view.backgroundColor ?? UIColor.black; 
     } 
    } 

} 

でこの問題を解決!

関連する問題