Использовать SwiftUI GeometryReader без влияния на внешнюю рамку? - PullRequest
0 голосов
/ 10 июня 2019

Можно ли использовать 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)
      }

Incorrect LayoutDesired Layout

1 Ответ

0 голосов
/ 10 июня 2019

Просто добавьте модификатор .fixedSize() в свой HStack. Это достигнет желаемого эффекта.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...