これを行うことで、ナビゲーション バー (およびステータス バー) の色を変更する方法を認識しています。
self.navigationController.navigationBar.barTintColor = [UIColor redColor];
しかし、ナビゲーション バーを非表示にすると、ステータス バーの色が透明色に戻ります。
ナビゲーション バーが非表示の場合でも、ステータス バーの色を barTintColor と同じにするにはどうすればよいですか?
これを行うことで、ナビゲーション バー (およびステータス バー) の色を変更する方法を認識しています。
self.navigationController.navigationBar.barTintColor = [UIColor redColor];
しかし、ナビゲーション バーを非表示にすると、ステータス バーの色が透明色に戻ります。
ナビゲーション バーが非表示の場合でも、ステータス バーの色を barTintColor と同じにするにはどうすればよいですか?
これは私にとってはうまくいきました(Swiftで):
let statusBarBGView = UIView(frame: UIApplication.sharedApplication().statusBarFrame)
statusBarBGView.backgroundColor = .whiteColor() //color of your choice
view.addSubview(statusBarBGView)
私の問題は、navigationBar を非表示に設定していたため、statusBar の背景がクリアになっていました。これにより、tableView セルがスクロールされたときに statusBar の背後に表示されました。
self.tableView.contentInset = UIEdgeInsetsZero
後に設定self.navigationController?.navigationBarHidden = true