방향에 따라보기의 이미지 배경을 변경해야합니다. 이를 위해, 나는 viewWillAppear
에 statusBarOrientation 접근 방식을 사용하고 있습니다 :viewWillAppear에서 statusBarOrientation에 대한 값이 잘못되었습니다.
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
UIInterfaceOrientation currentOrientation = [[UIApplication sharedApplication] statusBarOrientation];
if (UIInterfaceOrientationIsPortrait(currentOrientation)) {
NSLog(@"PORTRAIT");
} else if (UIInterfaceOrientationIsLandscape(currentOrientation)) {
NSLog(@"LANDSCAPE");
}
}
문제는 아이 패드가 가로 모드에서 열린 경우에도 콘솔이 항상 인물을 보여주고 있다는 점이다. viewDidAppear
의 코드가 제대로 작동하지만 너무 늦어서 사용자가 이미지 변경을 볼 수 있습니다. 따라서 statusBarOrientation의 올바른 상태는 여전히 viewWillAppear
에서 사용할 수 없다고 생각됩니다. 그러나이 코드가 작동해야하는 다른 질문을 읽었습니다.
viewWillTransitionToSize에서 더 이상한 것이 있습니다 : 방향을 쿼리 할 수 있으며 전화를 두 번 (viewDidLoad 위치로) 돌려 놓으면 statusBarOrientation이 올바른 답을 줄 것입니다. viewDidLoad에서 다른 답변을 주었지만 이제 장치가 그 때와 같은 방향입니다! –