考虑下面的代码,该代码在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()
}
}
问题:最初显示的是工作表,并根据其内容正确调整大小(良好)。但是,如果在工作表内部发生某些事情来调整内容的大小(例如工作表中的切换),则工作表窗口不会调整大小,从而导致工作表大小太大或太小。
如果工作表的内容大小发生变化,如何使工作表正确正确地自动调整大小?