3

はい、これについて多くの質問を見てきましたが、私の特定の問題を扱っているものはありません。

ステータスバーを真っ黒にすることができました(青が欲しいのですが、透明ではないので満足しています)。私はこれを行うことで達成しました

  1. MyApp-Info.plist に「ビュー コントローラー ベースのステータス バーの外観」を追加 = NO 値
  2. AppDelegateでやっている if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7) { [application setStatusBarStyle:UIStatusBarStyleLightContent]; self.window.clipsToBounds =YES; }
  3. 私のviewDidLoadやり方でif ([self respondsToSelector:@selector(edgesForExtendedLayout)]) { self.edgesForExtendedLayout = UIRectEdgeNone; }

偉大な。

ここに画像の説明を入力

しかし、UITabBarController の背後ではまだ透過的です。私の tabbarcontroller 内のビュー コントローラーは、最初のスクリーン ショットと同じビュー コントローラーのサブクラスです。そして、同じviewDidLoadコードが呼び出されています。

何か案は?

ここに画像の説明を入力

4

2 に答える 2

2

私は同様の問題を思いつきました。それを修正するために、無効にする必要はありませんView controller-based status bar

UITabBarControllerクラスで、拡張レイアウトをUIRectEdgeNone

self.edgesForExtendedLayout = UIRectEdgeNone;
self.automaticallyAdjustsScrollViewInsets = NO;

次に、他の場所を設定navigationBar.barTintColorします。

子View Controllerでの設定edgesForExtendedLayoutは機能しません。

于 2014-02-27T07:06:23.803 に答える