내 UIWindow
은 흰색 배경을 가지고 있습니다. 기기가 회전 할 때 배경을 파란색으로 (영구적으로) 변경하고 싶습니다. 그러나 실제로는 파란색이 잠시 파란색으로 깜박이고 다시 흰색으로 돌아갑니다. 예상대로장치 회전시 UIWindow 배경색 변경
- (void)application:(UIApplication *)application didChangeStatusBarOrientation:(UIInterfaceOrientation)oldStatusBarOrientation
{
self.window.backgroundColor = [UIColor blueColor];
}
이 코드는 호출되는,하지만 (나는 UIWindow
을 서브 클래스에 의해 발견으로) 회전 완료는, -[UIWindow setBackgroundColor:]
이 두 번째로 호출 될 때
. 두 번째 통화에 대한 호출 스택은 다음과 같습니다 (@ VinceBurn의 답변)
-[UIWindow setBackgroundColor]
-[UIWindow _finishedFullRotation:finished:context:]
-[UIViewAnimationState sendDelegateAnimationDidStop:finished:]
-[UIViewAnimationState animationDidStop:finished:]
-run_animation_callbacks
...
편집
응용 프로그램은 (엑스 코드의보기 기반 응용 프로그램 프로젝트 템플릿에서) 정확히 하나 개의보기가 있습니다. 이제 뷰의 배경색 (IB에서)을 0 % 불투명도로 설정했습니다. 여전히 같은 결과를 얻고 있습니다.
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after application launch.
// Add the view controller's view to the window and display.
self.window.backgroundColor = [UIColor greenColor];
[self.window addSubview:viewController.view];
[self.window makeKeyAndVisible];
return YES;
}
가 회전
, 그것은 잠시 파란색 깜박 만에 반환 는 지금 처음에 녹색으로 창의 배경 색상을 설정하고, 흰색 색상이 다른 기본 색상 설정에서오고 있지 않은지 확인하려면 녹색.
처음에 흰색 배경을 어떻게 설정합니까? –
@Kay - 제발 자세히 설명해주세요. – jlstrecker
@VinceBurn - 어디서나 설정하지 않으려 고 노력했습니다. (기본값은 흰색입니다.)'-application : didFinishLaunchingWithOptions :'에서 설정하려고했습니다. 어느 쪽이든 같은 결과가 나타납니다. – jlstrecker