UISplitViewController with iOS 11个大标题破动画

UISplitViewController with iOS 11 large titles broken animation

当使用 UISplitViewController 从 Master 导航到 Detail 时,导航栏动画无法按预期工作。它 "jumps" 起来而不是流畅的动画。

重现步骤: 从 Xcode 中的模板 "Master detail App" 创建项目 9. 在viewDidLoad中的MasterViewController中添加如下代码:

navigationController?.navigationBar.prefersLargeTitles = true
navigationItem.largeTitleDisplayMode = .always

viewDidLoad中的DetailViewController中添加如下代码:

navigationItem.largeTitleDisplayMode = .never

现在在 iPhone 模拟器中在 Master 和 Detail 之间导航,您可以看到导航栏如何 "jumps" 在 DetailViewController 上而不是流畅的动画。

观看视频:https://youtu.be/p90I4VrM2fs

我的假设是它与使用两个 UINavigationController 和 UISplitViewController 有关。 (这是怎么做的)

有什么解决办法吗?谢谢。

我刚发现问题。 prefersLargeTitleslargeTitleDisplayMode 必须在 awakeFromNib() 中设置,而不是在 viewDidLoad() 中设置。