我在 Xcode 版本 14.1 中遇到了有关 macOS 中视图大小的新更改,在旧版本中,如果我给出帧大小或使用固定大小修饰符,视图将保持该大小,但在 14.1 中,我发现视图可能会扩展,即使我使用frame或fixedSize修饰符,这不是我所期望的。例如,我举了一个例子来说明这个问题,当我将尺寸更新到200.0时,视图/窗口保持更大的尺寸,我希望它会缩小到更小的尺寸,那么我该如何解决这个问题呢?
struct ContentView: View {
@State private var sizeOfWindow: CGFloat = 400.0
var body: some View {
VStack {
Image(systemName: "globe")
.imageScale(.large)
.foregroundColor(.accentColor)
Text("Hello, world!")
Button("update", action: {
if (sizeOfWindow == 200.0) { sizeOfWindow = 400.0 }
else { sizeOfWindow = 200.0 }
print(sizeOfWindow)
})
}
.frame(width: sizeOfWindow, height: sizeOfWindow)
.fixedSize()
}
}
Run Code Online (Sandbox Code Playgroud)
.windowResizability(.contentSize)windowResizability使用以下之一:
fixedSize().frame(width:height:)@main
struct DemoApp: App {
var body: some Scene {
WindowGroup {
ContentView()
.frame(width: 200, height: 200) //or use fixed size and rely on content
}
.windowResizability(.contentSize)
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
759 次 |
| 最近记录: |