Как узнать размер окна в VisionOS?

Есть ли что-то похожее нана VisionOS?

У меня есть код, который зависит от размера экрана, и использование для него жестко закодированного значения, к сожалению, не работает.

2 ответа

Этого нет в VisionOS. UIScreen и UIWindow — это разные классы в iOS, и хотя в VisionOS есть UIWindows, аналога UIScreen нет (сам класс отмеченunavailable). «Экран» VisionOS на самом деле измеряется не в точках, а в градусах поля зрения, и поэтому вы не можете конвертировать их между собой. Вы всегда можете получить размер текущего окна, используя GeometryReader.

В официальной документации Apple указано, что размер окна по умолчанию в VisionOS равен1280x720точка. На данный момент нет возможности измерить размер окна VisionOS с помощью.boundsсвойство, однако для измерения размера можно использоватьGeometryReader3D.

      var body: some View {
    GeometryReader3D { proxy3D in
        VStack {
            RealityView { content in
                // code here...
            }
        }
        .onAppear {
            print("The size is:", proxy3D.size)
        }
    }
}

      //  The size is: (width: 1280.0, height: 720.0, depth: 540.0)

ПС

Размер по умолчанию для объемного окна:1280x1280x1280точка.

Другие вопросы по тегам