为什么我的导航栏在 iOS 13 中完全是白色的?

why my navigation bar is completely white in iOS 13?

我想让我的大标题导航栏像上图一样回到默认导航栏,上图是我运行 iOS 12上的应用程序时,有一条分隔线,颜色有点灰。

但是当我运行iOS13的app如下图,导航栏全白,好像没有深灰色的分隔符

我想让 iOS13 的导航栏和 iOS12 完全一样,有点灰,有分隔线

这是我 运行 在 vi​​ewWillAppear 中的代码:

override func viewWillAppear(_ animated: Bool) {
    super.viewWillAppear(animated)

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

我正在使用故事板,这是我使用的设置。即使从情节提要中,正如您所看到的,导航栏似乎已经完全是白色的并且没有分隔符

您在 iOS 13 中看到的行为是正常且正确的。在 iOS 13 中,带有大标题的导航栏默认为 透明。这意味着它后面的主视图的白色显示出来并且没有阴影(你称之为 "separator")。您现在肯定已经在 phone 上注意到了这一点; iOS 13 已经快一年了! Apple 自己的应用程序通常是这样的。

如果这不是您想要的,请将导航栏的 scrollEdgeAppearance 配置为您 想要的。