2011-12-06 16 views
2

私がタブバーで使用している画像は動的で、インターネットから取り除きます。私は網膜ディスプレイ上にいるかどうかを検出し、正しい画像をダウンロードし、それらを使用してタブバーを初期化します。網膜の画像をタブバーに動的にロードする

通常の画像は正常に動作しています。私の問題は、網膜画像です。それらはタブバーより大きい大きなサイズで表示されるため、完全には表示されません。

私は網膜の画像をタブバーにどのようにロードして正常に見えるのでしょうか?

更新:

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
    NSString *documentsDirectory = [paths objectAtIndex:0]; 
    NSString* path = [documentsDirectory stringByAppendingPathComponent:[NSString stringWithString:@"1.png"]]; 
    UIImage* image = [UIImage imageWithContentsOfFile:path]; 

イメージは持っている場合、それは問題ではありません@ 2X:

ここで私が追加された各ビューコントローラからタブバーに画像をロードするために使用しているコードです私が通常の画像や網膜の画像を手動で選択しているので、そうではありません。

+0

で画像を作成しますか? – Till

+0

あなたの画像のDPIを確認してくださいOK – Denis

+0

網膜の画像は通常のものと同じですが最後に@ 2xの接尾辞が付いていますか? – Mutix

答えて

2

私はこの問題を自分では実行していませんが、イメージを作成した直後にブレークポイントを設定することから始めます。デバッガを使用して、新しいイメージのscaleプロパティを確認します。 scaleは1.0に設定されていますが、高解像度の画像はscaleが2.0に設定されている必要があります。

  • "@ 2x"という接尾辞を持つファイルに名前を付けます。
  • 画像の 'dpi'属性を適切に設定します。
  • はどのようにあなたが現在ロードし、タブバーに画像を割り当てる-initWithCGImage:scale:orientation:または+imageWithCGImage:scale:orientation:
+1

私は+ imageWithCGImageを使用しましたが、それは完全に動作しています。どうもありがとう。 –

関連する問題