当导航栏下方有可滚动内容时,避免导航栏变得可见

Avoid navigation bar becoming visible when there's scrollable content beneath it

我在 iOS 15 上有一个默认导航栏,最初导航栏本身具有透明背景。

但是当我在视图控制器中滚动视图时,将它的一些内容放在导航栏下方。然后酒吧突然有一个可见的背景。

我没有对导航栏做任何特殊设置。并尝试设置 scrollEdgeAppearance 但没有成功。

if #available(iOS 13.0, *) {
  let barAppearance = UINavigationBarAppearance()
  barAppearance.configureWithTransparentBackground()
  navigationController?.navigationBar.scrollEdgeAppearance = barAppearance
} 

在您的代码中添加几行:

if #available(iOS 13, *) {
    let barAppearance = UINavigationBarAppearance()
    barAppearance.configureWithTransparentBackground()
    barAppearance.backgroundColor = .clear
    barAppearance.shadowColor = nil
    navigationController?.navigationBar.isTranslucent = true
    navigationController?.navigationBar.scrollEdgeAppearance = barAppearance
    navigationController?.navigationBar.standardAppearance = barAppearance
}