나는 두 개의 탭이있는 UITabBarController를 가지고 있습니다.. 상태 표시 줄 크기가 변경되면 크기 조정이 잘됩니다 (에뮬레이터 "통화 상태 표시 줄 전환"메뉴 항목). 다른 하나는 그렇지 않습니다.StatusBar 크기가 변경된시기를 알아 보는 방법 (iPhone)
문제가있는 탭 항목은 동적으로 하나를로드하는 정적 뷰 또는 어떤 일에 따라 다른 보기가 포함되어 있습니다. 이 설정이 작동하는 동안 주 탭보기가 자동으로 전송되지 않음을 발견했습니다. viewWillAppear 및 viewWillDis는 내 동적 하위 뷰에 메시지를 표시합니다.
Apple docs는 시스템에 동적으로 추가 된보기를 인식하지 못했기 때문이라고 설명했습니다.
@interface MyTabViewController : UIViewController
{
UIView *mainView;
FirstViewController *aController;
SecondViewController *bController;
}
...
if (index == 0)
{
self.aController = [[FirstViewController alloc]
initWithNibName:@"FirstViewController" bundle:nil];
[self.mainView addSubview:aController.view];
[self.aController viewWillAppear:YES];
}
어떻게 내 동적 파단에 상태 표시 크기 변경 이벤트 얻을 수 있습니까? "didChangeStatusBarFrame"은 다른 곳에서 문서화 된대로 작동하지 않습니다.
내 솔루션은 아키텍쳐를 변경하는 것이 었습니다 : 시스템과 작동하지 말고 작업해야했습니다. 즉, 이제는 하나의 UIViewController (하나의 재사용 된 UITableView가 포함되어 있으며 동적으로 dataSource와 delegate를 변경합니다)가 나타납니다. – JOM
didChangeStatusBarFrame을 테스트했을 때 회전만으로 작동했습니다 (앱이 회전하지 않은 경우에도 확인 된 이벤트). 테 더링 또는 전화가 인식되지 않았습니다 ... http://stackoverflow.com/questions/2406175/why-is-uiapplicationwillchangestatusbarframenotification-not-sent-when-the-status – JOM