我的一些课程订阅了设备方向更改时的通知。其他时候,我直接检查方向
[[UIDevice currentDevice] orientation]
正如你们大多数人所知,在 iOS 中存在以下方向:
typedef enum {
UIDeviceOrientationUnknown,
UIDeviceOrientationPortrait,
UIDeviceOrientationPortraitUpsideDown,
UIDeviceOrientationLandscapeLeft,
UIDeviceOrientationLandscapeRight,
UIDeviceOrientationFaceUp,
UIDeviceOrientationFaceDown
} UIDeviceOrientation;
是否有一种应用程序范围的方法来禁止 FaceUp、FaceDown 和 Unknown 被报告?这些方向更新在 95% 的应用程序中无用,而 Unknown 在 99.9% 的应用程序中无用。
现在我只是忽略了这些方向(无论我是从直接检查方向还是从收到通知中看到它们),但它在某些情况下会引起烦恼。
无论如何,我猜没有办法阻止“无用”方向被报道,但我认为值得一问。我可能只需要继续处理它们,对吧?
编辑:
好的,基于我已经收到的反对票数量,显然不同意苹果是一种罪过。
但是,请向我解释一下收到通知您设备方向未知的通知会有什么帮助?这与根本没有收到任何通知有什么不同?与未发送任何通知相比,何时知道设备方向“未知”会有所帮助?如果我看到几个实际用例,其中知道方向未知并不是……没用,我愿意收回无用的声明。