【发布时间】:2018-03-01 06:46:04
【问题描述】:
我们有两个UIViewController 和一个UINavigationController。
在viewWillAppear(_ animated: Bool) 内部的第一个VC 中,我们这样做:
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
if #available(iOS 11.0, *) {
navigationController?.navigationBar.prefersLargeTitles = true
navigationController?.navigationItem.largeTitleDisplayMode = .always
}
....
在第二个 VC 内部,我们使用 viewWillAppear(_ animated: Bool) 内部停用了该行为:
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
if #available(iOS 11.0, *) {
navigationController?.navigationBar.prefersLargeTitles = false
}
...
到第二个 VC 的过渡动画很流畅,当点击自动生成的后退按钮时,导航控制器标题会创建一个奇怪的 jump to large title,而不是像 Messages App 中那样正常的 grow to large title 动画。
如果我点击标签栏图标作为“返回”操作,它会执行正确的过渡动画。
知道什么可能导致该问题或我该如何解决?
【问题讨论】:
标签: ios animation uiviewcontroller uinavigationcontroller