gpt4 book ai didi

macos - 即使侧边栏在 SwiftUI 中打开,如何使 View 全屏显示?

转载 作者:行者123 更新时间:2023-12-05 03:31:45 24 4
gpt4 key购买 nike

目标

与 map 应用程序一样,当侧边栏打开时, View 显示为全帧大小。 View 在边栏下。

enter image description here

我尝试过的

为了最大化 View 的大小,我将大小设置为无穷大并添加 View 修饰符 .ignoresSafeArea() 但它仍然不像 map 那样是全帧

当我打开侧边栏时,你会看到 View 的框架会被调整

enter image description here

var body: some View {
NavigationView {
List(0 ..< 5) { item in
NavigationLink("Test") {
VStack {
Text("Test")
}
.navigationTitle("Test")
.frame(maxWidth: .infinity, maxHeight: .infinity)
.ignoresSafeArea()
}
}
ScrollView {
Text("Hello, world!")
.padding()
}
}
.frame(minWidth: 400, minHeight: 400)
.toolbar {
ToolbarItem(placement: .navigation) {
Button(action: toggleSidebar, label: {
Image(systemName: "sidebar.leading")
})
}
}
}

最佳答案

只需在右侧使用透明内容并将 map 放在下方 NavigationView

这是一个方法演示。使用 Xcode 13/macOS 12 测试

demo

var body: some View {
ZStack {
MapView() // << content here !!
NavigationView {
List(0 ..< 5) { item in
NavigationLink("Test") {
VStack {
Text("Test")
}
.navigationTitle("Test")
.frame(maxWidth: .infinity, maxHeight: .infinity)
.ignoresSafeArea()
}
}
Color.clear // << transparent right !!
}
.frame(minWidth: 400, minHeight: 400)
.toolbar {
ToolbarItem(placement: .navigation) {
Button(action: toggleSidebar, label: {
Image(systemName: "sidebar.leading")
})
}
}
}
}

关于macos - 即使侧边栏在 SwiftUI 中打开,如何使 View 全屏显示?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70608596/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com