从VC2点击back
后,我在VC1的navBar下面得到了一个粘性固体色调。在发布时,我没有看到这种粘性,只有在点击back
之后。如何消除这种粘性?这样的图像。
VC1中的NavBar没有粘性,即当我拉下导航栏时,白色背景会拉伸:
VC1中的NavBar有粘性,即当我拉下导航栏时,白色背景不会拉伸
到目前为止代码:
//At viewDidLoad() in VC1
navigationController?.navigationBar.barTintColor = .white
//At viewDidLoad() in VC2
navigationController?.navigationBar.setBackgroundImage(UIImage(), for: .default)
navigationController?.navigationBar.isTranslucent = true
navigationController?.view.backgroundColor = .clear
navigationController?.navigationBar.barTintColor = .white
navigationController?.navigationBar.shadowImage = UIImage()
我已经在VC2中实现了这样,因为我有一个mapView,我想一直传播到状态栏。
当我在VC1中拉下导航栏时,是否有人能够建议如何移除粘性色调以使白色色调伸展?
答案 0 :(得分:0)
它在后退按钮上发生的原因是因为VC2中导航栏上的更改也适用于VC1的导航栏。
您可以尝试通过将代码移动到viewWillAppear方法来修复它,而不是将以下行添加到VC1代码中:
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
navigationController?.navigationBar.setBackgroundImage(UIImage(), for: .default)
navigationController?.navigationBar.isTranslucent = true
navigationController?.view.backgroundColor = .clear
navigationController?.navigationBar.barTintColor = .white
navigationController?.navigationBar.shadowImage = UIImage()
}
VC2:
{{1}}