如何以编程方式获取设备的当前方向?

时间:2011-09-06 07:40:39

标签: ios cocoa-touch orientation

我想了解设备方向,我用过

 UIDeviceOrientationIsPortrait([UIDevice currentDevice].orientation

但这仅在我改变方向时有效,否则它不会给出任何东西(TRUE / FALSE)。那么即使方向没有改变,我怎样才能获得当前的设备方向。

提前致谢!

3 个答案:

答案 0 :(得分:6)

获得方向

UIInterfaceOrientation orientation = [[UIDevice currentDevice] orientation];

并且可能的方向是

typedef enum {
  UIInterfaceOrientationPortrait           = UIDeviceOrientationPortrait,
  UIInterfaceOrientationPortraitUpsideDown = UIDeviceOrientationPortraitUpsideDown,
  UIInterfaceOrientationLandscapeLeft      = UIDeviceOrientationLandscapeLeft,
  UIInterfaceOrientationLandscapeRight     = UIDeviceOrientationLandscapeRight
} UIInterfaceOrientation;

答案 1 :(得分:4)

UIInterfaceOrientation orientation = [[UIDevice currentDevice] orientation];

给出隐含的枚举警告。

请改用:

UIDeviceOrientation orientation = [[UIDevice currentDevice] orientation];

答案 2 :(得分:0)

很抱歉,如果您已经这样做了,但是您是否已查看 beginGeneratingDeviceOrientationNotifications 方法,该方法可以为设备生成通知?

另外,您是在寻找设备方向还是界面方向?如果您正在寻找一个简单的纵向与横向方向信息,您应该查看视图控制器的interfaceOrientation。

希望这有帮助!