私は 2 を持っていUIViewControllers
ます。最初のUIViewController
では、たとえばViewController1
をUINavigationBar
非表示にしています。私のアプリのテーマは black なので、 black で見えないようにwhiteUIStatusBar
が必要です。白を取得するために、私はこのメソッドを で使用しています。iOS 7
UINavigationBar
UIStatusBar
iOS 7
- に を設定
UIViewControllerBasedStatusBarAppearance
しYES
ますplist
- で
viewDidLoad
_[self setNeedsStatusBarAppearanceUpdate];
次のメソッドを追加します。
-(UIStatusBarStyle)preferredStatusBarStyle{ return UIStatusBarStyleLightContent; }
ViewController1 にいるときは正常に動作します。しかし、ViewController2 に移動すると、設定した場合
self.navigationController.navigationBarHidden = NO
私のviewDidLoad
方法で。次に、上記の白のコードはUIStatusBar
機能しません。UIStatusBar
次のコードを使用してカスタマイズしているため、黒くなり、表示されませんUINavigationBar
self.navigationController.navigationBar.barTintColor = [UIColor blackColor];
self.navigationController.navigationBar.tintColor = [UIColor whiteColor];
self.navigationController.navigationBar.titleTextAttributes = [NSDictionary dictionaryWithObject:[UIColor whiteColor] forKey:UITextAttributeTextColor];
self.navigationController.navigationBar.translucent = NO;
UINavigationBar
ViewController1 のように非表示のままにすると、白UIStatusBar
が再び表示されます。しかし、UINavigationBar
が表示されると、ステータス バーが再び黒くなります。それが問題です。
ViewController1 のような白いステータスバーを取得するにはどうすればよいですか? 前もって感謝します。