我想在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/