如何获取iPad的当前方向?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (32)

在给定的事件处理程序中(而不是“应该是AutorotateToInterfaceOriting”方法),如何检测当前的iPad方向?我有一个文本字段,我必须在景观视图中(当键盘出现时)动画,但不是在肖像视图中,我想知道我在哪个方向看动画是否必要。

提问于
用户回答回答于

方向信息不是很一致,有几种方法。如果在视图控制器中,你可以使用该interfaceOrientation属性。从其他地方你可以调用:

[[UIDevice currentDevice] orientation]

或者,你可以请求接收方向更改通知:

[[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(orientationChanged:) name:UIDeviceOrientationDidChangeNotification object:nil];

有些人还喜欢检查状态栏方向:

[UIApplication sharedApplication].statusBarOrientation
用户回答回答于

我认为

[[UIDevice currentDevice] orientation];

不太可靠。有时起作用,有时不起作用..。在我的应用程序中,我使用

[[UIApplication sharedApplication]statusBarOrientation]; 

而且效果很好!

扫码关注云+社区