0

このコードを使用して、すべてのUINavigationBarのカスタム背景画像を設定しています。問題は、最終的な画像が網膜サイズに見えないことです。私はUINavigationBarsが640x88pxであることを調査しました。これは私のUINavigationBar.pngの正確な寸法ですが、iPhone Sim(retina)と網膜でもあるiphone4では320x44pxしか表示されません。

画像を設定するコード:

UIImage *background = [UIImage imageNamed:@"UINavigationBar.png"];
[[UINavigationBar appearance] setBackgroundImage:background forBarMetrics:UIBarMetricsDefault];

説明のためのスクリーンショットは次のとおりです。

ここに画像の説明を入力してください

(違いは、Photoshopのように下の暗い線がないことです。iPhone5シミュレーター(Retina)では画像の半分しか見ることができません)

私の質問は、なぜこれが発生するのか、どうすれば修正できるのかということです。ありがとう。

4

1 に答える 1

1

異なるサイズで同じ名前の2 つのファイルが必要ですが.png、Retina ディスプレイ ファイルに @2x が追加されています。
例えば、

通常のディスプレイ サポート用のファイル 1:
サイズ - 320x44、
名前 - UINavigationBar.png

Retinaディスプレイ サポート用のファイル 2:
サイズ - 640x88、
名前 - UINavigationBar@2x.png

コードでは、常に UINavigationBar.png を使用します。デバイスは、ハードウェアに応じて、使用するウィッチ ファイルを自動的に認識します。

于 2012-08-09T15:57:51.547 に答える