【发布时间】:2023-03-17 06:57:01
【问题描述】:
我已经尝试在按钮单击事件上更改设备方向 2 天,但我无法正确实现。
所以,我有一个最低版本为 12.4 的 iPhone 应用,而我用来测试的设备是 14.4。我已经使用了这个项目here 中提到的代码(在使用 push 或 present 呈现新的视图控制器时可以正常工作)但是在同一个视图控制器上时同样不起作用。用户需要旋转他/她的设备来启动方向改变。
这是我在视图控制器中尝试在按钮单击事件上旋转的代码。
let appDelegate = AppDelegate.sharedInstance
let oldOrientaion = appDelegate.deviceOrientation
appDelegate.deviceOrientation = oldOrientaion == .landscapeRight ? .portrait : .landscapeRight
let value = appDelegate.deviceOrientation.rawValue
UIDevice.current.setValue(value, forKey: "orientation")
有人可以帮我弄清楚这到底缺少什么吗?
另外,附带说明一下,视图控制器呈现在不同的视图控制器上,所以即使我尝试在项目中呈现新的视图控制器一段时间并改变那里的方向,它也不起作用。
编辑:
现在已修复。我试图使用UIInterfaceOrientationMask 而不是UIInterfaceOrientation 来设置方向。因此,将代码更改为最后使用 UIInterfaceOrientation 现在可以正常工作了。
感谢您的帮助。
【问题讨论】: