Как узнать размер окна в 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
точка.