6

私のアプリにはグレー一色のナビゲーション バーがあり、iOS 7 のデザインに合わせるために、ステータス バーを同じ色にしたいと考えています。

これを行うために、plistにedgesForExtendedLayout = UIRectEdgeNoneandextendedLayoutIncludesOpaqueBars = YESView controller-based status bar appearanceto を設定しました。YESステータス バーの灰色を作成するために、背景色をMainWindow灰色に設定しました。これは、プッシュまたはポップ アニメーションがある場合を除き、うまく機能します。アニメーション中、ステータス バーの色が点滅し、グレーの 2 倍の強度になっているように見えます。アニメーションが終了すると、正しい灰色に戻ります。

何が起こっているのか知っている人はいますか?ステータス バーの色をナビゲーション バーの色と異なるように設定する必要がありますか?

4

1 に答える 1

4

ナビゲーション バーの背景を設定するために、背景画像または色合いを使用していますか?

背景画像を使用する場合 (無地の灰色の背景があるため、そのように聞こえます)、高さが 64 ポイント (網膜では 128 ピクセル) であることを確認する必要があります。古い iOS 6 の寸法 (44 ポイント) を使用すると、iOS 7 はフォールバックし、ステータス バーが含まれなくなります。

この動作の詳細については、iOS 7 移行ドキュメント の表 5-1「画面上部のバーのサイズ変更可能な背景画像の扱い」 を確認してください。

また、この場合、edgesForExtendedLayoutextendedLayoutIncludesOpaqueBarsおよびを設定する必要はありませんView controller-based status bar appearance。他のものに必要になるかもしれませんが、これには必要ありません。

iOS 6 を引き続きサポートする場合は、iOS 7 以降の 1 つと iOS 6 以下のレガシー バージョンの 2 つの異なる背景イメージが必要です。これにより、探している効果が得られるはずです。

于 2013-09-19T10:10:40.463 に答える