我需要根据方向更改视图的图像背景。为此,我使用 statusBarOrientation 方法viewWillAppear
:
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
UIInterfaceOrientation currentOrientation = [[UIApplication sharedApplication] statusBarOrientation];
if (UIInterfaceOrientationIsPortrait(currentOrientation)) {
NSLog(@"PORTRAIT");
} else if (UIInterfaceOrientationIsLandscape(currentOrientation)) {
NSLog(@"LANDSCAPE");
}
}
问题是控制台总是显示 PORTRAIT,即使 iPad 处于横向模式。相同的代码viewDidAppear
可以正常工作,但是为时已晚,用户可以看到图像的变化。这让我认为 statusBarOrientation 的正确状态仍然不可用viewWillAppear
,但我已经阅读了其他一些问题,该代码应该在那里工作。