LoginSignup
1
1

More than 5 years have passed since last update.

[iOS][iOS12]UIWebViewにおいて動画再生後にステータスバーが変更されてしまう

Last updated at Posted at 2018-11-13

UIWebViewでiOS12の場合に、以前のOSと挙動が変わったのでメモ。

[現象]
UIWebViewで動画を再生後、閉じるとステータスバーの色が変わってしまう。

[ソース元]
https://stackoverflow.com/questions/52136497/status-bar-disappeared-after-full-screen-video-in-wkwebview-only-in-ios-12

[条件]
Info.plistのみにステータスバーの設定を実装している場合に発生する。

・Status bar is initially hidden
・View controller-based status bar appearance
・Status bar style : UIStatusBarStyleLightContent

[解決策]
Info.plistに記述したステータスバーのプロパティをすべて削除し、代わりに実装ファイルに記述をする。
ちなみに、ソース元では「Status bar style:UIStatusBarStyleLightContent」で試してあったが、手元でUIStatusBarStyleDefaultを試したところ正常に動作した。プロジェクトのUIに合わせて実装すると良い。

[実装例]

UINavigationControllerExtension.h
#import "UINavigationControllerExtension.h"

@interface UINavigationControllerExtension()

@end

@implementation UINavigationControllerExtension

- (void)viewDidLoad
{
    [super viewDidLoad];
    [UIApplication sharedApplication].statusBarHidden = NO;
}

- (BOOL)prefersStatusBarHidden
{
    return NO;
}

- (UIStatusBarStyle)preferredStatusBarStyle
{
    return UIStatusBarStyleDefault;
}


@end

[追記]
※走り書きで書いてしまったため、記述を若干修正しました。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1