【发布时间】:2018-01-19 19:21:54
【问题描述】:
我有一个HomeViewController,它推送到SendViewController,导航栏从深蓝色变为白色:
在HomeViewController.swift:
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
navigationController?.navigationBar.barStyle = .black
navigationController?.navigationBar.barTintColor = Styleguide.Colors.darkBlue.color
navigationController?.navigationBar.tintColor = Styleguide.Colors.lightBlue.color
}
override func viewDidLoad() {
super.viewDidLoad()
view.backgroundColor = Styleguide.Colors.darkBlue.color
navigationController?.navigationBar.barTintColor = Styleguide.Colors.darkBlue.color
navigationController?.navigationBar.tintColor = Styleguide.Colors.lightBlue.color
navigationController?.navigationBar.isTranslucent = false
navigationController?.navigationBar.shadowImage = UIImage() // hides the bottom border
self.navigationItem.hidesBackButton = true
... more
}
在SendViewController.swift:
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
self.navigationController?.navigationBar.barStyle = .default
}
override func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(animated)
self.navigationController?.navigationBar.barStyle = .black
}
override func viewDidLoad() {
super.viewDidLoad()
view.backgroundColor = .white
self.navigationController?.navigationBar.barTintColor = .white
self.navigationController?.navigationBar.tintColor = Styleguide.Colors.darkBlue.color
... more
}
问题来了:
从Send弹出到Home时,导航栏为白色,动画结束后跳转为深蓝色。 (期望的结果是在弹出时从白色变为深蓝色的动画)
【问题讨论】:
-
我有类似的问题查看我的帖子,答案对我有帮助:stackoverflow.com/q/44343355/3900902
-
查看这篇文章可能对stackoverflow.com/questions/39835420/…有帮助
标签: ios swift uinavigationcontroller uikit uinavigationbar