ios - 如何在 SwiftUI 中访问安全区域大小?

标签 ios swift swiftui

我想手动将 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

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

相关文章:

ios - Swift/iOS subview 在主线程上不立即显示

swift - 使用 Alamofire 的 API 调用不会刷新

ios - ABRecordGetRecordID 返回 -1

ios - 在 Swift 中用数组序列化我自己的对象的更优雅的方法是什么

ios - UITapGestureRecognizer 为 locationInView : 提供无效值

swift - 比较 Swift 中的 AnyObjects 而不是将它们转换为特定类型

用于 RSS 提要解析的 Objective-C 库?

ios - SwiftUI:如何在背景模糊的当前 View 之上将 View 显示为弹出窗口?

ios - SwiftUI:使用变量从右到左滚动 Imageview 的动画

swift - DocumentId 包装器无法正常工作