【发布时间】:2017-12-24 08:47:15
【问题描述】:
即使用户锁定了方向,是否有任何方法可以检测屏幕方向?我的应用程序使用自定义相机视图,我希望能够根据方向以横向或纵向保存图像。我目前正在使用以下代码来检测方向,但这仅在用户没有锁定它的情况下才有效。
override func viewWillTransition(to size: CGSize, with coordinator: UIViewControllerTransitionCoordinator) {
let orientation: UIDeviceOrientation = UIDevice.current.orientation
switch (orientation) {
case .portrait:
print("Portrait")
case .landscapeRight:
print("Left")
case .landscapeLeft:
print("Right")
default:break
}
}
如果这不是使用相机方向的正确方法,请指导我正确的方向。
【问题讨论】:
-
您的视图控制器中是否嵌入了自定义相机?如果是这样,我知道您现在只能以纵向模式保存图像?
-
是的,我需要,我需要能够一次拍摄多张图像并将所有图像一次保存到我的个人资料中。所以苹果的普通图像选择器对我不起作用。一切正常,除了现在所有图像都是纵向的。绝对没有办法获得横向图像吗?这似乎有点奇怪
-
这是一个 hack,但您可以利用加速度计和/或陀螺仪来了解设备何时改变了它的方向
-
@Malik,我该怎么做?
-
您必须对两者都进行一些阅读。这是一个解释它的基础知识的链接nshipster.com/cmdevicemotion
标签: ios swift3 uideviceorientation