我有一个标题视图,它使用edgesIgnoringSafeArea. 要正确对齐标题视图的内容/子视图,我需要safeAreaInsetsfrom GeometryReader。但是,在使用 时GeometryReader,我的视图不再具有合适的尺寸。
不使用的代码 GeometryReader
struct MyView : View {
var body: some View {
VStack(alignment: .leading) {
CustomView()
}
.padding(.horizontal)
.padding(.bottom, 64)
.background(Color.blue)
}
}
Run Code Online (Sandbox Code Playgroud)
预览
代码使用 GeometryReader
struct MyView : View {
var body: some View {
GeometryReader { geometry in
VStack(alignment: .leading) {
CustomView()
}
.padding(.horizontal)
.padding(.top, geometry.safeAreaInsets.top)
.padding(.bottom, 64)
.background(Color.blue)
.fixedSize()
}
}
}
Run Code Online (Sandbox Code Playgroud)
预览
有没有办法在GeometryReader不修改底层视图大小的情况下使用?