我有三個視圖控制器。在第一個視圖控制器(FirstVC)中,導航欄的條形色彩爲clearColor,條形本身爲半透明。當我點擊某個東西時,我會推送到導航欄需要不透明的SecondVC。所以我將barTintColor設置爲某個顏色值,並將isTranslucent設置爲false。當我從SecondVC推到ThirdVC時,導航欄再次需要是半透明的。當我彈出ThirdVC並返回到SecondVC時,就會出現問題。導航欄顯示爲一秒透明,然後根據需要變得不透明。我無法理解拖延的原因。彈出視圖控制器時更改導航欄顏色
從SecondVC的viewWillAppear()
調用以下方法。我試圖從ThirdVC的viewWillDisappear()
做同樣的事情,但沒有效果。
fileprivate func configureNavigationBar(){
self.navigationController?.navigationBar.setBackgroundImage(nil, for: UIBarMetrics.default)
self.navigationController?.navigationBar.shadowImage = nil
self.navigationController?.navigationBar.isTranslucent = false
self.navigationController?.navigationBar.barTintColor = Style.Movie.primaryBackgroundColor
let titleDict: NSDictionary = [NSForegroundColorAttributeName: UIColor.white]
self.navigationController?.navigationBar.titleTextAttributes = titleDict as? [String:Any]
}
它工作正常,如果我刷回來,而不是點擊後退按鈕。
你而坡平背動畫? – vivek
nope我沒有做任何這樣的事情。 – StudentX
即使您設法執行此操作,這樣的UI看起來也不會流暢。 – kelin