我正在 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/