我遇到过这样的问题。 我有两个VC。其中一个有基本的导航栏,它继承自主Navigator栏。 在此导航栏中,我使用此类设置来自定义导航栏
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上我必须设置与视图相关的自定义渐变背景。为了这个目的,我将我的视野扩展到了酒吧的高度,并使标准变得平坦。这是代码:
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的导航条颜色的人工制品,它会在一段时间后解析。我不知道如何处理它
我不确定我的方法是否正确,所以我很乐意听到任何建议考虑解决这个问题。