如何在 SwiftUI 中制作半透明导航栏?

Ham*_*ter 7 swiftui

我看过几篇讨论如何在 SwiftUI 中制作透明导航栏的帖子,但没有关于如何制作半透明导航栏,这让我感到惊讶,因为它是 Apple 默认应用程序中非常常见的模式。例如笔记应用程序:

在此处输入图片说明

您可以通过导航栏查看绘图。任何人都知道如何做到这一点,最好是在明/暗模式下工作?

Asp*_*eri 7

也许您只需要在 SwiftUI 视图中添加半透明设置

演示1

init() {
  UINavigationBar.appearance().isTranslucent = true
}
Run Code Online (Sandbox Code Playgroud)

替代是完全重置外观,例如

演示2

init() {
    let appearance = UINavigationBarAppearance()
    appearance.configureWithTransparentBackground()
    appearance.backgroundColor = UIColor.systemBackground.withAlphaComponent(0.5)
    UINavigationBar.appearance().standardAppearance = appearance
}
Run Code Online (Sandbox Code Playgroud)

使用 Xcode 12 / iOS 14 准备和测试的演示