私は 2 を持っていUIViewControllersます。最初のUIViewControllerでは、たとえばViewController1をUINavigationBar非表示にしています。私のアプリのテーマは black なので、 black で見えないようにwhiteUIStatusBarが必要です。白を取得するために、私はこのメソッドを で使用しています。iOS 7UINavigationBarUIStatusBariOS 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;
UINavigationBarViewController1 のように非表示のままにすると、白UIStatusBarが再び表示されます。しかし、UINavigationBarが表示されると、ステータス バーが再び黒くなります。それが問題です。
ViewController1 のような白いステータスバーを取得するにはどうすればよいですか? 前もって感謝します。