ios – 当用户禁用屏幕自动旋转时,UIDeviceOrientationDidChangeNotification事件不会触发

如果设置了自动旋转,我可以收到UIDeviceOrientationDidChangeNotification事件.

但是当禁用屏幕自动旋转时,方向通知不再起作用.

我想要达到的效果是iPhone相机和相机:无论用户锁定或不锁定屏幕旋转,应用程序都可以立即正确地对应旋转变化.

用户锁定屏幕旋转时,有没有人知道为什么没有发送通知
即使禁用自动旋转,如何才能对应设备方向更改?

解决方法

我还希望获得Camera应用程序的效果,即使用户已设置纵向方向锁定,应用程序也会检测设备的方向.当用户锁定纵向时,不会发布UIDeviceOrientationDidChangeNotification.我相信,当用户将方向锁定为纵向时,确定设备方向的唯一方法是使用UIAccelerometer手动计算方向.

问题清单&以下答案都与此问题有关.当我在寻找答案时,我找到了它们,你可能会发现它们也很有帮助.

相关问题:

> How to detect Camera Overlay view rotation
> How to do Orientation Detection even the device has locked orientation
> Detect iOS device orientation lock
> Detect iPhone screen orientation
> Callback method on auto rotation,iOS and iPad

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...