Ориентация устройства SwiftUI работает на iPhone, но не на iPad - PullRequest
0 голосов
/ 20 апреля 2020

Я играю с SwiftUI и пытаюсь получить правильный размер экрана в зависимости от ориентации. Решение отлично работает в симуляторе на iPhone, но отсутствует на iPad (у меня нет iPad для реального тестирования). Кажется, на iPad просто отсутствует событие перерисовки. Есть ли ошибка в SwiftUI или мне нужно было добавить код?

struct ContentView: View {
    @Environment(\.layoutDirection) var layoutDir
    // verticalSizeClass initiate redrawing UI based on new direction (horSizeClass won't work)
    @Environment(\.verticalSizeClass) var vertSizeClass

    var body: some View {
        VStack{
            Text("UIDevice.current.orientation").font(.title)
            if UIDevice.current.orientation.isPortrait {
                Text("Portrait")
            } else if UIDevice.current.orientation.isLandscape {
                Text("Landscape")
            } else if UIDevice.current.orientation.isFlat {
                Text("is Flat")
            }
            Text("UIScreen.main.bounds").font(.title)
            Text("Width:\(UIScreen.main.bounds.width)")
            Text("Height:\(UIScreen.main.bounds.height)")
            Text("@Environment(\\.horizontalSizeClass").font(.title)
            if  vertSizeClass == .regular {
                Text("regular")
            } else if vertSizeClass == .compact {
                Text("compact")
            } else {
                Text("default")
            }
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...