如何在macOS上自动调整SwiftUI工作表的大小以适合其内容?

时间:2020-08-16 08:25:17

标签: macos swiftui

考虑下面的代码,该代码在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()
    }
}

问题:最初显示的是工作表,并根据其内容正确调整大小(良好)。但是,如果在工作表内部发生某些事情来调整内容的大小(例如工作表中的切换),则工作表窗口不会调整大小,从而导致工作表大小太大或太小。

如果工作表的内容大小发生变化,如何使工作表正确正确地自动调整大小?

0 个答案:

没有答案