Ios 如何正确提交导航栏半透明性的更改?

Ios 如何正确提交导航栏半透明性的更改?,ios,swift,uinavigationbar,Ios,Swift,Uinavigationbar,我曾经遇到过这样的问题。 我有两个。其中一个具有基本导航栏,它继承自主导航栏。 在这个导航栏中,我使用这些设置来定制我的导航nar override func viewWillAppear(_ animated: Bool) { super.viewWillAppear(animated) navigationBar.createGradientNavigatorBar() navigationBar.isTranslucent = false navigati

我曾经遇到过这样的问题。 我有两个。其中一个具有基本导航栏,它继承自主导航栏。 在这个导航栏中,我使用这些设置来定制我的导航nar

override func viewWillAppear(_ animated: Bool) {
    super.viewWillAppear(animated)
    navigationBar.createGradientNavigatorBar()

    navigationBar.isTranslucent = false
    navigationBar.barTintColor = UIColor.init(red: 0/255, green: 97/255, blue: 185/255, alpha: 1)
    navigationBar.shadowImage = UIImage()

}
在第二个VC上,我必须设置与视图连接的自定义渐变背景。为了这个目的,我把我的观点扩大到了酒吧的高度,使PAR超越。以下是代码:

override func viewWillAppear(_ animated: Bool) {
    isCurrentViewControllerAppropriate.shared.isCurrentVcAppropriate = isCurrentViewController()

    let firstColor = UIColor.init(red: 0/255, green: 94/255, blue: 198/255, alpha: 1)
    let secondColor = UIColor.init(red: 27/255, green: 145/255, blue: 226/255, alpha: 1)

    profileBackgroundView.createGradient(firstColor: firstColor.cgColor, secondColor: secondColor.cgColor)

    navigationController?.navigationBar.setBackgroundImage(UIImage(), for: .default)
    navigationController?.navigationBar.shadowImage = UIImage()
    navigationController?.navigationBar.backgroundColor = UIColor.clear
    navigationController?.navigationBar.isTranslucent = true
}

override func viewWillDisappear(_ animated: Bool) {
    navigationController?.navigationBar.isTranslucent = false
}
一切都很好,但我在vc之间有一个粗略的过渡。我已附上。 你们可能会注意到,当我返回到我的第一个VC加载它时,它有一个来自第二个VC的带有导航条颜色的人工制品,它会在一段时间后解析。我不知道怎么处理它


我不确定我的方法是否正确,所以我很乐意听到任何建议来考虑解决这个问题。 尝试在ViewDidAppear方法中编写代码,该方法在视图控制器完全显示时调用。我已经尝试过,但这无助于我在
视图中隐藏导航栏将消失