请求在Swift中解锁屏幕方向的权限

时间:2017-07-31 15:33:14

标签: ios iphone swift screen-orientation

我正在制作照片捕捉应用程序。

我的应用程序仅支持纵向模式,我必须旋转横向图像以旋转纵向模式。例如,如果在landscapeRight中捕获了照片,我想将照片向右旋转90度。

但是,如果用户设备处于“锁定屏幕方向”模式,如果用户尝试拍摄横向照片,则无法使用UIDevice.current.orientation获取正确的设备方向值。由于“锁定屏幕oritentation”,它总是返回“肖像”值。

我想向用户请求解锁屏幕方向,例如“此应用程序想要解锁屏幕方向”消息。是否可以添加我的 info.plist 来添加解锁屏幕方向的权限请求?如果是,我必须在 info.plist 中添加哪个权限?

提前致谢。

1 个答案:

答案 0 :(得分:1)

我同意你无法改变方向属性。所有这些属性(在项目页面中)都是启用状态变量和通知,您可以从中为UI的方向设置动画。因此,一个hacky解决方案可能是使用陀螺仪API,并基于此来制作一个小算法来检测设备旋转。它本质上归结为构建类似于Leveling App的逻辑。 https://developer.apple.com/documentation/coremotion/cmmotionmanager