Можно ли использовать GeometryReader
таким образом, чтобы оно не просто заполняло родительское представление?
В качестве конкретного примера я хочу контролировать нижнее поле, используя .padding(.bottom, geometry.safeAreaInsets.bottom > 0 ? 0 : 12.0)
. Это позволит использовать безопасную область в качестве поля на iPhone X и настраиваемое поле на старых устройствах.
Без GeometryReader
мой вид занимает место, соответствующее его фактическому вертикальному размеру. С считывателем изображение занимает половину экрана.
VStack {
Spacer()
GeometryReader { proxy in // Lays out nicely without this...
HStack {
Text("Wrong")
Spacer()
}.border(Color.gray, width: 1)
}