我正在尝试这个:
- (void)viewDidLoad {
[super viewDidLoad];
if (UIDeviceOrientationIsPortrait([[UIDevice currentDevice] orientation])) {
NSLog(@"PORTRAIT");
} else {
NSLog(@"LANDSCAPE");
}
}
但似乎[[UIDevice currentDevice] orientation]
返回0,所以我无法知道设备当时的朝向。我怎么知道呢?
答案 0 :(得分:1)
我正在使用
UIInterfaceOrientationIsPortrait([[UIApplication sharedApplication]statusBarOrientation]
来自:
iOS Developer Library: Responding to Orientation Changes in a Visible View Controller
窗口调整视图控制器视图的边界。这会导致视图布局其子视图,从而触发视图控制器的viewWillLayoutSubviews方法。 运行此方法时,您可以查询应用程序对象的statusBarOrientation属性以确定当前的用户界面布局。
答案 1 :(得分:0)
您可以像这样检查设备的方向
if (UIInterfaceOrientationIsPortrait([UIApplication sharedApplication].statusBarOrientation))
{
NSLog (@"Device is in Portrait Mode");
}
else
{
NSLog (@"Device is in Landscape Mode");
}