繁体   English   中英

如何在swiftUI中删除顶部安全区域

[英]How to remove the top safe area in swiftUI

我正在使用 SwiftUI 开发屏幕,想在屏幕的顶部安全区域显示我的视图,有什么方法可以在 SwiftUI 中实现这一点?

使用这个修饰符:

.edgesIgnoringSafeArea(.top)

如果您想忽略所有安全区域插图,您可以通过.all

SwiftUI 2.0

您可以使用此修饰符传入需要忽略的区域和边缘

.ignoresSafeArea(.container, edges: .top)

注意:两个参数都是可选的

当您需要将键盘作为区域做出反应时,此修饰符非常有用。 旧修饰符尚未弃用,您仍然可以将其用作主要方法:


SwiftUI 1.0

如果需要支持 iOS 13,请使用此修饰符

.edgesIgnoringSafeArea(.top)

笔记:

如果您希望忽略所有边,您可以为两个修饰符传递.all

默认情况下,SwiftUI 视图将大部分停留在安全区域内。 它将进入屏幕底部,但不会靠近设备顶部的任何凹槽。 如果您希望您的视图真正全屏,那么您应该使用edgesIgnoringSafeArea()修饰符。

struct MyView : View {

    var body: some View {
         Text("Welcome to Swift UI")
        .frame(minWidth: 0, maxWidth: .infinity, minHeight: 0, maxHeight: .infinity)
        .edgesIgnoringSafeArea(.top)
     }
    }
/**
 This extension is needed because of deprecating edgesignoringsafearea for iOS 13.0–15.2
 https://developer.apple.com/documentation/swiftui/menu/edgesignoringsafearea(_:)
 */
public extension View {
    @ViewBuilder
    func expandViewOutOfSafeArea(_ edges: Edge.Set = .all) -> some View {
        if #available(iOS 14, *) {
            self.ignoresSafeArea(edges: edges)
        } else {
            self.edgesIgnoringSafeArea(edges) // deprecated for iOS 13.0–15.2, look upper
        }
    }
}

如何使用:

MyView()
   .expandViewOutOfSafeArea()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM