如果我在UIViewController
课程中,目前正以弹出方式呈现,我该如何检测我所处的方向?
我已经尝试了通常的self.interfaceOrientation
,但即使设备处于横向状态,它也始终返回Portrait
。这样做的正确方法是什么?
答案 0 :(得分:4)
您可以使用
[UIApplication sharedApplication].statusBarOrientation
或者您可以在更改方向后处理通知
[[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(orientationChanged:) name:UIDeviceOrientationDidChangeNotification object:nil];
答案 1 :(得分:3)
这应该可以满足您的需求:
UIInterfaceOrientation orientation = [[UIDevice currentDevice] orientation];
您需要致电
[[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications];
在此属性开始生成正确的值之前。