如何才能使用GeometryReader
,而不是填满整个父视图?
以具体的例子来说,我想使用.padding(.bottom, geometry.safeAreaInsets.bottom > 0 ? 0 : 12.0)
来控制底部边距。这将在iPhone X上使用安全区域作为边距,在旧设备上使用自定义边距。
如果没有使用GeometryReader
,我的视图将占用其实际垂直大小适当的空间。使用读取器后,该视图将占据屏幕的1/2。
VStack {
Spacer()
GeometryReader { proxy in // Lays out nicely without this...
HStack {
Text("Wrong")
Spacer()
}.border(Color.gray, width: 1)
}
fixedSize()
起到了作用,并且在我实际工作的View
(其中有嵌套的ZStack
)中,将fixedSize(horizontal:vertical:)
附加到我的GeometryReader
上也起作用。 - arsenius