ipadにてライブラリ表示の際、ステータスバーが表示されてしまう場合の対処法
iPadアプリを作成する際、写真選択のためにライブラリを表示したら
非表示にしていたステータスバーが表示されてしまった。
ライブラリはUIImagePickerControllerをUIPopoverControllerに入れて表示していましたが、ライブラリを表示した以外では再表示されなかったので、UIImagePickerController絡みの現象か???
表示した後に消したのでは違和感があるので、表示前に消す方法探していて以下にたどり着いた。
- (void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated {
[[UIApplicationsharedApplication] setStatusBarHidden:YESwithAnimation:UIStatusBarAnimationNone];
}
ライブラリを表示する際、UIImagePickerControllerのdelegateを実装しておくこと。
UIImagePickerController *imagePicker = [[UIImagePickerControlleralloc] init];
imagePicker.delegate = self;
UIImagePickerControllerがNavigationControllerを含んでいるため
- (void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated
が呼び出されるしくみ。
他にもいい方法があるような気がしますが、現状での解決策でした。
良い方法があればコメントお願いします。