将原型单元格添加到情节提要中的 table 视图会使导航栏标题变小

Adding a prototype cell to a table view in storyboard makes navigation bar title small

我有一个 View Controller,它从以前的具有大标题的控制器中分离出来。导航控制器中的导航栏选中了首选大标题复选框。

我已经向这个新的视图控制器添加了一个 Table 视图。在那之前,标题仍然很大。但是,一旦我将原型单元格添加到 table 视图,导航栏就会变小。

我在代码中添加了这个:

override func viewWillAppear(_ animated: Bool) {
    super.viewWillAppear(true)
    navigationController?.navigationBar.prefersLargeTitles = true
}

问题是,当视图控制器进入视图时,标题显示为小一秒钟,然后立即变为大标题。

如何修复它,使其在我继续显示时显得很大,并在标题可见后避免大小变化?

这是一个特点:当用户滚动时,大标题会消失并在顶部显示小标题。

你的问题发生是因为在 xib 文件中: 您的布局是小标题,并且在推送时更改为大标题。 但视图不知道。

要解决此问题,您只需在 viewDidLoad() 方法中调用:view.layoutIfNeeded()。

override func viewDidLoad() {
    super.viewDidLoad()
    title = "Large title"
    view.layoutIfNeeded()
}