2017-02-21 5 views
0

ナビゲーションバーのスタイリングにいくつか問題があります。私は2つのView Controllerを持っているとしましょう。ナビゲーションバーが以前のVCに戻ると変更されます

VC 1は、私はそうのように設定している白のテキストとオレンジ色のバーがあります。

func stylingStuffs(){ 
    self.navigationController?.navigationBar.barTintColor = UIColor(red: 0.94, green: 0.38, blue: 0.24, alpha: 1) 
    self.navigationController?.navigationBar.backgroundColor = UIColor(red: 0.94, green: 0.38, blue: 0.24, alpha: 1) 
    self.navigationController?.navigationBar.tintColor = UIColor.white 
    self.navigationController?.navigationBar.titleTextAttributes = [NSForegroundColorAttributeName : UIColor.white] 
    self.navigationController?.navigationBar.isTranslucent = false 
    UIApplication.shared.statusBarStyle = .lightContent 
} 

VC 2は、透明ナビゲーションバーとそのためのコードがありました:

func stylingStuffs(){ 
    navigationController?.setNavigationBarHidden(false, animated: true) 
    navigationController?.navigationBar.setBackgroundImage(UIImage(), for: UIBarMetrics.default) 
    self.navigationController?.navigationBar.barTintColor = UIColor(red: 0.94, green: 0.38, blue: 0.24, alpha: 0) 
    self.navigationController?.navigationBar.backgroundColor = UIColor(red: 0.94, green: 0.38, blue: 0.24, alpha: 0) 
    navigationController?.navigationBar.shadowImage = UIImage() 
    navigationController?.navigationBar.isTranslucent = true 
    navigationController?.navigationBar.tintColor = UIColor.white 
    self.navigationController?.navigationBar.barStyle = .default 
    UIApplication.shared.statusBarStyle = .lightContent 
} 

私はVC1-> VC2からナビゲートします。すべて正常に動作します.VC2-> VC1からナビゲートすると、VC1のNavbarはステータスバーと同様に白/透明になります。

これを修正するにはどうしたらいいですか、VC1に戻ったときにスタイルをリセットすると思いますか?

ありがとうございました!

+1

あなたが混乱しているために、ナビゲーションバーのスタイルをリセットする必要がある1つのナビゲーションコントローラの一部です。両方のビューコントローラがある1つのナビゲーションコントローラの一部です。 – rmaddy

+0

はい、vc1に戻るときにスタイルをリセットする必要があります。 – Kingalione

答えて

0

最初のビューVC 1コントローラviewDidAppearコールstylingStuffs()

override func viewDidAppear(_ animated: Bool) { 
    super.viewDidAppear(animated: animated) 

    stylingStuffs() 
} 

@rmaddyコメント

実際には1つのナビゲーションバーがあるので、あなたが混乱しています。これは、両方のビューコントローラが

にそう実際には1つのナビゲーションバーがあるので、VC 1

+0

@Kingalione UINavigationBar.appearance()。setBackgroundImage(UIImage()、for:UIBarMetricsDefault) –

+0

ありがとう!これは私の問題を解決しました。そんな男の間違い – emktn

関連する問題