繁体   English   中英

如何检测相机叠加视图旋转

[英]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屏幕方向

编辑:这是苹果的样品,用于使用加速度计。

https://developer.apple.com/library/ios/#samplecode/AccelerometerGraph/Introduction/Intro.html#//apple_ref/doc/uid/DTS40007410

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM