当导航回根视图控制器时,大导航栏backGround会获得清晰的颜色

Omi*_*Kia 9 uinavigationbar uinavigationcontroller ios swift

嘿伙计们我已经习惯了largeNavigationBar,直到我刷回根视图控制器并且大导航以令人讨厌的方式获得清晰的颜色.这是代码:

func largeNavigationTitle() {

    self.navigationController?.view.backgroundColor = VVUtility.navigationBarColor()
    let productTitle = request?.product?.name
    self.navigationItem.title = "\(productTitle ?? " ")".localized()
    self.navigationController?.navigationBar.titleTextAttributes = [NSAttributedStringKey.foregroundColor : UIColor.white, NSAttributedStringKey.font : VVUtility.normalFontWithPlusSize(increaseSize: -2.0)]

    if #available(iOS 11.0, *) {
        self.navigationController?.navigationBar.prefersLargeTitles = true
        self.navigationController?.navigationBar.backgroundColor = VVUtility.splashBackGroundColor()
        self.navigationController?.navigationBar.largeTitleTextAttributes = [NSAttributedStringKey.foregroundColor : UIColor.white, NSAttributedStringKey.font : VVUtility.normalFontWithPlusSize(increaseSize: 0.0)]
    } else {
        // Fallback on earlier versions
    }

}
Run Code Online (Sandbox Code Playgroud)

我回忆起largeNavigationTitle()在这两个viewWillAppearviewDidLoad

UPDATE

这里是两种状态的屏幕截图:在滑动之前:imgur.com/a/ZcSOrov 在滑动时:imgur.com/a/DYeeot8

AD *_*ess 0

尝试这个。它应该将根视图控制器的导航栏的颜色设置为您想要的颜色:

func largeNavigationTitle() {

    self.navigationController?.view.backgroundColor = VVUtility.navigationBarColor()
   //add the two lines below
    self.navigationController?.navigationBar.barTintColor = VVUtility.navigationBarColor()
    self.navigationController?.navigationBar.isTranslucent = false

    let productTitle = request?.product?.name
    self.navigationItem.title = "\(productTitle ?? " ")".localized()
    self.navigationController?.navigationBar.titleTextAttributes = [NSAttributedStringKey.foregroundColor : UIColor.white, NSAttributedStringKey.font : VVUtility.normalFontWithPlusSize(increaseSize: -2.0)]

    if #available(iOS 11.0, *) {
        self.navigationController?.navigationBar.prefersLargeTitles = true
        self.navigationController?.navigationBar.backgroundColor = VVUtility.splashBackGroundColor()
        self.navigationController?.navigationBar.largeTitleTextAttributes = [NSAttributedStringKey.foregroundColor : UIColor.white, NSAttributedStringKey.font : VVUtility.normalFontWithPlusSize(increaseSize: 0.0)]
    } else {
        // Fallback on earlier versions
    }

}
Run Code Online (Sandbox Code Playgroud)