0

tabBarController のアイコンを含むすべての画像を Web から取得する TabBarController アプリケーションがあります。私が望むのは、デバイスが Retina ディスプレイを搭載しているときに画像がきれいに見えることです。

これは私がやっていることです:

  1. 画面のスケールに応じて画像のサイズを縮小します。
  2. ビュー コンテンツ スケールの設定: imageView.contentsScale = [UIScreen mainScreen].scale;

UIImageViewを使用した標準画像では正常に機能していますが、フレームにもcontentScaleにもアクセスできないため、UITabBarItemsでこれを行う方法がわかりません。

何か案は?

ありがとう!

4

3 に答える 3

3

UIImage を作成するときに、網膜サイズの画像リソースの画像のスケールを 2.0 に設定できます。これが私がそれをした方法のサンプルです:

NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:url]];
UIImage *image = [UIImage imageWithData:data];
CGImageRef cgimage = image.CGImage;
image = [UIImage imageWithCGImage:cgimage scale:2.0 orientation:UIImageOrientationUp];

これで、この画像を UITabBarItem で使用できます。

于 2011-08-14T12:00:59.927 に答える
2

画像の 2 つのバージョンを作成し、30px の場合は image.png、60px の場合は image@2x.png という名前を付けることができます。次に、これを使用します。

UIImage *image = [UIImage imageNamed:@"image.png"];

デバイスのディスプレイに応じて、適切な解像度の画像が読み込まれます。

于 2011-08-14T12:09:41.027 に答える
0

デバイスが網膜であるかどうかを判断し、それに応じてさまざまなアセットをダウンロードするのはどうですか?

于 2011-04-15T14:48:39.273 に答える