【发布时间】:2021-10-25 00:54:18
【问题描述】:
【问题讨论】:
-
使用
.edgesIgnoringSafeArea(.all)忽略安全区域。从那里,您可以使用 GeometryReader 计算安全区域的大小。 -
编辑您的问题并发布用于生成此视图的代码
【问题讨论】:
.edgesIgnoringSafeArea(.all) 忽略安全区域。从那里,您可以使用 GeometryReader 计算安全区域的大小。
将您的内容放入ZStack 并使用以.ignoresSafeArea(.all) 作为背景的视图。
struct MainView: View {
var body: some View {
ZStack {
GradientBackground(colors: [.red, .green])
.edgesIgnoringSafeArea(.all)
VStack(alignment: .leading) {
HStack {
Text("Setttings")
.foregroundColor(.white)
.font(.title)
.bold()
Spacer()
}
.padding(16)
.background(Rectangle().fill(Color.blue))
Spacer()
}
}
}
}
struct GradientBackground: View {
let colors: [Color]
var body: some View {
LinearGradient(gradient: .init(colors: colors), startPoint: .top, endPoint: .bottom)
}
}
【讨论】:
在视图上使用属性 .ignoresSafeArea() 可以将设置视图的边界扩展到安全区域之外。
文档可以在here找到
【讨论】: