考虑这个在 macOS 上显示工作表的代码:
struct ContentView: View {
@State var showSheet = false
var body: some View {
VStack {
Text("Hello, world!").padding()
Button("Show sheet") {
showSheet = true
}
}
.sheet(isPresented: $showSheet) {
SheetView()
}
}
}
struct SheetView: View {
@State var greenBiggerBox = false
var body: some View {
VStack {
Toggle("Show bigger box", isOn: $greenBiggerBox)
if greenBiggerBox {
Rectangle().frame(width: 640, height: 480).foregroundColor(.green)
} else {
Rectangle().frame(width: 320, height: 240).foregroundColor(.red)
}
}.padding()
}
}
问题:最初,表格被呈现,其大小正确(好)。但是,当工作表内发生调整内容大小的事情(如工作表中的切换)时,工作表窗口不会调整大小,从而产生太大或太小的工作表大小。
如果工作表内容的大小发生变化,如何使工作表正确并自动调整大小?