UINavigationBar 在设置 contentInset 时自动折叠

UINavigationBar collapses automatically when contentInset is set

我在 UINavigationController 中用单一视图控制器制作了一个简单的项目。在视图控制器中,我添加了 UITableView 并设置了 contentInset.top = 52.

当我在导航堆栈中推送一些视图控制器并弹出时,大导航栏会折叠,如下图所示。

但如果我不设置 contentInset,一切正常。

您应该激活安全区域相对边距和安全区域布局指南:

还在界面生成器中将 table 视图固定到 Superview 而不是安全区域:

尝试设置 prefersLargeTitles = true

navigationController?.navigationBar.prefersLargeTitles = true

另外,如果不想在view detailViewControl中显示大标题,可以设置largeTitleDisplayMode = .never

navigationItem.largeTitleDisplayMode = .never