Как узнать высоту устройства пользователя в приложении SwiftUI? - PullRequest
0 голосов
/ 26 февраля 2020

Я делаю приложение, используя новый фреймворк Apple SwiftUI, но обнаружил проблему.

Я хочу получить высоту устройства пользователя. Когда я использую UIScreen.main.bounds.height в коде SwiftUI, предварительный просмотр Xcode будет обрабатывать sh, но без причины !? Когда я удалил эту строку кода, проблема исчезла.

Итак, как мне получить высоту экрана пользователя и использовать ее в SwiftUI?

1 Ответ

2 голосов
/ 26 февраля 2020

Вы можете получить размеры в SwiftUI с GeometryReader. Это может помочь с тем, что вы делаете, даже если это не очень хорошо объяснено. Но поскольку в разных устройствах высота экрана так велика, ваш макет всегда должен быть адаптивным и не фиксированным.

Трудно, если не невозможно, получить размер представления. Вот где появляется GeometryReader. GeometryReader похож на представление контейнера pu sh -out, в котором вы можете добавить дочерние представления. Это позволит вам проверять и использовать свойства, которые могут помочь позиционировать другие виды в нем. Вы можете получить доступ к свойствам, таким как высота, ширина и вставки безопасной области, которые могут помочь вам динамически устанавливать размеры представлений в нем, чтобы они хорошо выглядели на устройстве любого размера. -> www.bigmountainstudio.com

    GeometryReader { geometry in
        VStack(spacing: 10) {
          Text("Width: \(geometry.size.width)")
          Text("Height: \(geometry.size.height)") }    
     }
...