[英]How to detect Camera Overlay view rotation
我正在尝试根据屏幕方向在相机的顶部放置一个相机覆盖视图。 由于即使您将屏幕方向锁定在设置上,相机仍会旋转其UI (实时预览中的闪光灯和相机按钮),因此,如果我不移动重叠视图上的元素,它将保持在最重要的。
我已经通过注册到UIDeviceOrientationDidChangeNotification
通知,然后读取[UIDevice currentDevice].orientation
上的值并设置相机叠加视图的转换值来完成此操作。
问题是用户锁定iPhone上的界面时UIDeviceOrientationDidChangeNotification
通知不会触发( 但相机一直在旋转 !)。
我尝试了许多替代方法,例如注册到PLCameraDeviceOrientationChangedNotification
通知,当我将自己注册为每个通知的观察者时发现被解雇了,但它不包含userInfo词典上的方向。 我还尝试设置一个NSTimer
,每0.5秒触发一次,并检查[UIDevice currentDevice].orientation
,但锁定时它总是报告UIDeviceOrientationPortrait,而不管实际的设备方向如何。
有什么方法可以找出相机所处的方向,理想情况下,即使用户锁定了界面方向,也可以在相机发生变化时得到通知?
谢谢。
我认为,如果用户将其锁定为设备方向,则不可能获得有关方向的设备消息。
但是加速度计永远不会说谎,应该给您正确的信息。
Juste看看: 检测iPhone屏幕方向
编辑:这是苹果的样品,用于使用加速度计。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.