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