如何找出模拟器的方向?

时间:2011-06-10 06:54:26

标签: iphone cocoa-touch

我开发了一个应用程序。我想找出iphone的方向。我为那个编写了代码。有没有办法找出模拟器的方向。

2 个答案:

答案 0 :(得分:2)

这个小片段应该可以在模拟器和物理设备上运行。你还需要一些其他的代码,它可以像lxt指出的那样工作。

[UIDevice currentDevice].orientation

示例:

if ([UIDevice currentDevice].orientation == UIDeviceOrientationPortrait)
    NSLog("The device orientation is portrait!");
else
    NSLog("The device orientation is NOT portrait!");

答案 1 :(得分:2)

Jeremy的答案缺少关于[[UIDevice currentDevice] orientation]的非常重要的信息 - 根据Apple文件:

  

除非通过调用beginGeneratingDeviceOrientationNotifications启用了方向通知,否则此属性的值始终返回0.

在致电[[UIDevice currentDevice] orientation]之前,您必须先致电[[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications]

完成后,您还应该在某个时候致电endGeneratingDeviceOrientationNotifications

但是,值得注意的是,模拟器有时无法通过方向更改:我强烈建议您测试设备上的方向更改。在模拟器上看不到肯定会出现在实际硬件上的边缘情况。