gpt4 book ai didi

ios - 当设备方向为faceDown或faceUp时,如何获取界面方向?

转载 作者:行者123 更新时间:2023-11-29 05:36:28 24 4
gpt4 key购买 nike

我正在设置 AVCaptureVideoOrientation 的方向通过获取当前设备方向,但是当设备面朝下或面朝上时,我无法获取界面方向。任何帮助将不胜感激。提前致谢

private func configureDeviceOrientation() {
var videoOrientation: AVCaptureVideoOrientation {
switch UIDevice.current.orientation {
case .faceUp, .faceDown:
//I don't know whether the interface orientation is landscapeLeft
//or landscapeRight nor do I know how to check.
}
}

<强> interfaceOrientation从 iOS 8 开始已弃用,这是一个框架,因此我无权访问 UIApplication.shared

最佳答案

我的 AVCaptureVideoOrientation 也遇到同样的问题。

只需使用self.view.window?.windowScene?.interfaceOrientation代替UIDevice.current.orientation:

switch self.view.window?.windowScene?.interfaceOrientation {
case .portrait:
previewLayer.connection?.videoOrientation = .portrait
case .portraitUpsideDown:
previewLayer.connection?.videoOrientation = .portraitUpsideDown
case .landscapeRight:
previewLayer.connection?.videoOrientation = .landscapeRight
case .landscapeLeft:
previewLayer.connection?.videoOrientation = .landscapeLeft
default:
print("other")
}

该值可以是portrait、portraitUpsideDown、landscapeRight 或landscapeLeft。

在启动时以及每次设备改变方向时调用此代码。

参见here用于文档。

关于ios - 当设备方向为faceDown或faceUp时,如何获取界面方向?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56998401/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com