5

これを行うことで、ナビゲーション バー (およびステータス バー) の色を変更する方法を認識しています。

self.navigationController.navigationBar.barTintColor = [UIColor redColor];

しかし、ナビゲーション バーを非表示にすると、ステータス バーの色が透明色に戻ります。

ナビゲーション バーが非表示の場合でも、ステータス バーの色を barTintColor と同じにするにはどうすればよいですか?

4

7 に答える 7

6

これは私にとってはうまくいきました(Swiftで):

let statusBarBGView = UIView(frame: UIApplication.sharedApplication().statusBarFrame)
statusBarBGView.backgroundColor = .whiteColor() //color of your choice
view.addSubview(statusBarBGView)

私の問題は、navigationBar を非表示に設定していたため、statusBar の背景がクリアになっていました。これにより、tableView セルがスクロールされたときに statusBar の背後に表示されました。

于 2016-04-14T03:54:52.043 に答える
1

InterfaceBuilder を使用して問題を解決する簡単な方法を見つけました。私の問題はこのようなものです。ナビゲーションバーを非表示にした後、迷惑な白いギャップがあります。

[前[1]

次に、これら2つのオプションのチェックを外します

オプション

それは動作します

after## 見出し ##

于 2015-12-13T06:10:22.553 に答える
0

self.tableView.contentInset = UIEdgeInsetsZero後に設定self.navigationController?.navigationBarHidden = true

于 2015-10-06T13:59:19.717 に答える