ここでは、私が抱えていた問題 (そしておそらく OP も抱えていた問題) を具体的に修正したものは何もないので、答えを共有したいと思いました。バグのある解決策だと思うステータスバーを非表示にする代わりに(ステータスバーが非表示であるべきではないときに、アプリが非表示の状態になることがあることに気付きました)。代わりに、 でうまくプレイすることにしましたUIStatusBarStyles
。
UIImagePickerController のビューが表示されたら、ステータス バーのスタイルをデフォルトに設定します。これは、デフォルトの背景色が明るい灰色であるためです。
- (void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated
{
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleDefault animated:YES];
}
次に、イメージ ピッカーを閉じたら、元に戻しUIStatusBarStyleLightContent
ます。
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
//work
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent animated:YES];
[self dismissViewControllerAnimated:YES completion:NULL];
}
- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker
{
//work
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent animated:YES];
[self dismissViewControllerAnimated:YES completion:NULL];
}