SwiftUI 如何获取当前屏幕的高度和宽度?

7 min read

在 SwiftUI 中,可以通过 GeometryReader 访问布局信息,从而获取当前屏幕的大小。使用 GeometryReader 时,可以利用 GeometryProxy 对象来获取布局信息。

例如,可以在 ContentView 中使用 GeometryReader 来获取屏幕大小:

struct ContentView: View {
    var body: some View {
        GeometryReader { geo in
            Text("Screen size: \(geo.size.width) x \(geo.size.height)")
        }
    }
}

在上述代码中,利用 GeometryReader 包裹了 Text 控件,并在闭包中使用了 GeometryProxy 参数 geo。通过访问 geo.size 属性,即可获取当前屏幕的宽度和高度。