2

如果我在一个UIViewController当前作为弹出窗口呈现的课程中,我如何检测我所处的方向?

我已经尝试过通常的方法,但即使设备处于横向状态,self.interfaceOrientation它也总是会返回。Portrait这样做的正确方法是什么?

4

2 回答 2

4

你可以使用

 [UIApplication sharedApplication].statusBarOrientation

或者您可以在方向更改后使用通知

[[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(orientationChanged:) name:UIDeviceOrientationDidChangeNotification object:nil];
于 2012-08-07T14:06:40.170 回答
3

这应该给你你需要的东西:

UIInterfaceOrientation orientation = [[UIDevice currentDevice] orientation];

你需要打电话

[[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications];

在此属性开始产生正确的值之前。

于 2012-08-07T13:54:59.897 回答