ios - 如何添加将在swiftUI中位于所有 View 顶部的 View

标签 ios swiftui

我正在 swiftUI 中开发迷你播放器,因此矩形 View 将普遍位于整个应用程序的顶部。我已经尝试过 ZStack 但目前它只能在单一 View 上实现。您能告诉我如何创建最重要的 View 吗?

最佳答案

您可以在 ContentView 之上放入 App.body 并使用一些环境或环境对象来控制其在 View 层次结构中任何位置的可见性,例如

@main
struct SwiftUIApp: App {
    @State private var showView = false

    var body: some Scene {
        WindowGroup {
            ContentView()
              .environment(\.showCoverView, $showView)
              .overlay(Group {
                 if showView {
                    Text("Your top view here")    // << here !!
                 }
              })
        }
    }
}

struct ShowCoverViewKey: EnvironmentKey {
    static var defaultValue: Binding<Bool> = .constant(false)
}

extension EnvironmentValues {
    var showCoverView: Binding<Bool> {
        get { self[ShowCoverViewKey.self] }
        set { self[ShowCoverViewKey.self] = newValue }
    }
}

关于ios - 如何添加将在swiftUI中位于所有 View 顶部的 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67987376/

相关文章:

ios - Swift 2.2 中 init 的使用不明确

SwiftUI:在执行下面的代码之前等待 Alamofire 请求完成

swift - 设置连续轮式选取器 - SwiftUI

swiftui - 编辑 : How we can alignment Image with Images and Text withTexts in SwiftUI, 多重对齐?

ios - 无法使用类型为 'sendData' 的参数列表调用 '(NSData,toPeer:NSArray,......'

ios - 第二次显示 MapKit 失败并显示 EXC_BAD_ACCESS

ios - 如何支持 iPhone、iPad 和 iPad Mini 的 iOS 应用程序

ios - UIButton 触摸 Action 不在触摸时调用但在触摸移动时调用

ios - 如何在 SwiftUI 中为具有cornerRadius 的 View 创建前导边框?

没有披露指示器的SwiftUI NavigationButton?