2012-08-15 70 views
-3

我的几个班级订阅了设备方向更改时的通知。其他时候,我直接检查与设备方向:无用取向

[[UIDevice currentDevice] orientation] 

定向正如你们大多数人都知道,在iOS上的以下方向存在:

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

是否有禁用面朝上的应用范围内的方法, FaceDown和未知的报道?这些方向更新在95%的应用程序中没有用处,未知在99.9%的应用程序中无用。

现在我只是忽略了这些方向(不管我是从直接检查方向还是从获取通知中看到它们),但它在某些情况下会造成烦恼。

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

编辑:
好的,显然,与苹果公司意见不一致是基于我已经收到的downvotes数量的罪。

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

回答

4

他们在那里是有原因的。在苹果公司,他们不会做无用的事情(Xcode除外)。

尽管无法直接修改不返回它们的方法,但您可以忽略它们 - 这有什么问题?

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

+0

我编辑了我的问题。与未收到任何通知相比,知道设备方向是“未知”的用例有什么用处? – MikeS 2012-08-15 15:56:27