我想在SwiftUI中将 View 的框架高度手动设置为屏幕安全区域的大小。获取屏幕边界(UIScreen.main.bounds)很容易,但是我找不到找到安全区域大小的方法。

最佳答案

您可以使用GeometryReader访问安全区域。
请参阅:https://developer.apple.com/documentation/swiftui/geometryreader

struct ContentView : View {

    var body: some View {
        GeometryReader { geometry in
            VStack {
                Spacer()
                Color.red
                    .frame(
                        width: geometry.size.width,
                        height: geometry.safeAreaInsets.top,
                        alignment: .center
                )
                    .aspectRatio(contentMode: ContentMode.fit)
            }
        }
        .edgesIgnoringSafeArea(.bottom)
    }
}
但仅供引用:安全区域不是大小。这是一个EdgeInsets

关于swiftui - 如何在SwiftUI中访问安全区域大小?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57116723/

10-17 01:10