设备方向:无用的方向

时间:2012-08-15 15:36:20

标签: ios uiinterfaceorientation uideviceorientation

我的几个课程都订阅了设备方向更改时的通知。其他时候,我正在用

直接检查方向
[[UIDevice currentDevice] orientation]

正如大多数人所知,在iOS中存在以下方向:

typedef enum {
   UIDeviceOrientationUnknown,
   UIDeviceOrientationPortrait,
   UIDeviceOrientationPortraitUpsideDown,
   UIDeviceOrientationLandscapeLeft,
   UIDeviceOrientationLandscapeRight,
   UIDeviceOrientationFaceUp,
   UIDeviceOrientationFaceDown
} UIDeviceOrientation;

是否存在禁用FaceUp,FaceDown和Unknown的应用程序范围方法?这些方向更新在95%的应用程序中都是无用的,而99.9%的应用程序中无法使用Unknown。

现在我只是忽略了这些方向(无论是通过直接检查方向还是收到通知都看到它们),但它在某些情况下会引起烦恼。

无论如何,我猜测没有办法阻止“无用”的方向被报道,但我认为值得一提。我可能只需继续处理它们,对吗?

编辑:
好吧,显然不同意Apple是基于我已经收到的downvotes数量的罪。

但是,请向我解释如何收到通知,告知您设备方向未知可能会有所帮助?这与收到任何通知有何不同?何时知道设备方向是“未知”与没有发送任何通知相比有帮助?如果我看到一些实际的用例,知道方向未知,那么我愿意撤回无用的陈述......没用。

1 个答案:

答案 0 :(得分:4)

他们出于某种原因。在Apple,他们不会做无用的事情(Xcode除外)。

虽然不可能直接修改不归还它们的方法,但你可以忽略它们 - 这有什么问题?

如果您真的很生气并且真的希望UIDevice不要返回这些值,您可以使用MobileSubstrate越狱iPhone / iPad并挂钩- [UIDevice orientation]