如何在swiftUI中删除顶部安全区域
Posted
技术标签:
【中文标题】如何在swiftUI中删除顶部安全区域【英文标题】:How to remove the top safe area in swiftUI 【发布时间】:2019-07-16 08:23:24 【问题描述】:我正在使用 SwiftUI 开发一个屏幕,想在屏幕的顶部安全区域显示我的视图,在 SwiftUI 中有什么方法可以实现吗?
【问题讨论】:
【参考方案1】:使用这个修饰符:
.edgesIgnoringSafeArea(.top)
如果你想忽略所有的安全区域插入,你可以通过.all
【讨论】:
。 edgeIgnoringSafeArea(.top) 在这种情况下要好得多 我应该将这个应用到手表的哪个视图?【参考方案2】:SwiftUI 2.0
你可以使用这个修饰符传入你需要忽略的区域和边缘
.ignoresSafeArea(.container, edges: .top)
注意:这两个参数都是可选的
当您需要将键盘作为区域做出反应时,此修饰符非常有用。旧修饰符尚未弃用,您仍然可以将其用作主要方法:
SwiftUI 1.0
如果需要支持 ios 13,请使用此修饰符
.edgesIgnoringSafeArea(.top)
注意:
如果您希望忽略所有边,您可以为两个修饰符传递.all
。
【讨论】:
【参考方案3】:默认情况下,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)
【讨论】:
我已经尝试过了,它确实摆脱了安全区域,但触及了安全区域被忽略的空间。 NavigationBarTitle 也不会移动。需要的是一种简单地关闭安全区域的方法。以上是关于如何在swiftUI中删除顶部安全区域的主要内容,如果未能解决你的问题,请参考以下文章