[英]How to remove the top safe area in swiftUI
我正在使用 SwiftUI 开发屏幕,想在屏幕的顶部安全区域显示我的视图,有什么方法可以在 SwiftUI 中实现这一点?
使用这个修饰符:
.edgesIgnoringSafeArea(.top)
如果您想忽略所有安全区域插图,您可以通过.all
您可以使用此修饰符传入需要忽略的区域和边缘
.ignoresSafeArea(.container, edges: .top)
注意:两个参数都是可选的
当您需要将键盘作为区域做出反应时,此修饰符非常有用。 旧修饰符尚未弃用,您仍然可以将其用作主要方法:
如果需要支持 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.