2012-03-28 9 views
1

このコードを使用して背景を設定します。 バックグラウンドは変わりますが、網膜には何らかの問題があります。ios5(Retina)のナビゲーションバーの背景を設定するには?

[[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"navi_bar.png"] forBarMetrics:UIBarMetricsDefault]; 

は、私は2つのPNGファイルがあります:navi_bar.png(* 44 320)と[email protected]を(640 * 88)

は、ナビゲーションバーの背景は常に偶数で、画像navi_bar.pngを使用しています網膜。

私はこのコードを使用する場合:

[[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"[email protected]"] forBarMetrics:UIBarMetricsDefault]; 

結果は、これが網膜である: enter image description here

背景には二重の高さを持っている...私は全体の朝を過ごしてきた

をこの問題について。 誰かが私を助けることができますか? ありがとう!

答えて

3

この

UINavigationBar *navBarName = [[self navigationController] navigationBar]; 
    UIImage *backgroundImg = [UIImage imageNamed:@"navi_bar"]; 
    [navBarName setBackgroundImage:backgroundImg forBarMetrics:UIBarMetricsDefault]; 
+0

はい、私はすべてのviewcontrollerの背景を変更するコードを使用します。できます。しかし、私はこのコードをどこにでも書く必要があります...なぜ私のコードはうまくいかないのですか?それはリンゴのバグですか? –

+0

このリンクを参照してくださいhttp://stackoverflow.com/questions/7855365/ios-5-uinavigationbar-appearance-setbackgroundimage-does-not-do-work and check Answer – Deepesh

+0

リンクの問題は私と同じではありません。私のコードは背景を変えることができますが、問題は網膜では背景がnavi_bar.pngではなく[email protected]です。私はあなたのコードをテストする、それは網膜の適切なPNGを使用することができます。 –

0

あなたが使用することができます:[[UINavigationBar appearance] setBackgroundImage:aImg forBarMetrics:UIBarMetricsDefault];

のiOS 5

1

にあなたは@"[email protected]"を記述する必要はありません。 iOSは自動的に網膜表示用の正しい画像をピックアップします。ちょうど@"navi_bar.png"を使用してください。

編集 -This SO questionあなたはあなたが適切かどうか

0

これは奇妙であるのに役立ちます私は同じ問題を持っていました: [email protected]が利用可能であっても、NavBarBg.pngは網膜デバイスに適用されます。しかし、それはシミュレータとのみ関連しているようです。デバイス上でアプリを実行すると[email protected]が正しく適用されます。

0

を試してみて2倍の画像を追加したかどうかを確認する必要があります

関連する問題