1

ギャラリーを作成したいのですが、私の問題は@ 2x画像をロードする方法ですか?

iOSはそれらを検索しようとしますか、それともパスを指定できますか?

4

3 に答える 3

1

画像の2つのバージョンを保存できます。1つは網膜用で、もう1つは非網膜用です。デバイスがWebサーバーから画像をダウンロードしようとしているとき(Webサービススクリプトを使用していると仮定)、次のような投稿データを取得できます。

NSString *postData;
if ([[UIScreen mainScreen] respondsToSelector:@selector(displayLinkWithTarget:selector:)] &&
([UIScreen mainScreen].scale == 2.0)) {
   postData = @"retina_device";
} else {
   postData = @"non_retina_device";
}

phpでwebservicesriptを作成すると仮定すると、デバイスが要求している画像のバージョンがわかります。

 <?php
    $postData = $_REQUEST['postData'];
    if($postData == @"retina_device"){
       //return all images for retina device
    } 
 ?>
于 2012-07-04T12:55:57.933 に答える
1

サーバーから画像をロードするとき。

まず、imagesSizeをサーバーに送信するときに、リクエスト/Connectionをサーバーに送信します

例:-www.example.com/iPhone/abc.php?imagesSize = 1

どこ !@2xの場合

単純な場合は0(網膜以外の場合を意味します)

この方法を使用すると、でんぷんではなく画像が表示されます。

于 2012-07-04T12:47:25.933 に答える
0

このif/elseブロックを使用する

if ([[UIScreen mainScreen] respondsToSelector:@selector(displayLinkWithTarget:selector:)] &&
    ([UIScreen mainScreen].scale == 2.0)) {
  // Retina display
} else {
  // non-Retina display
}

Retinaディスプレイを使用しているか、標準のディスプレイモデルを使用しているかを検出して、正しい画像を読み込むことができます。

于 2012-07-04T12:37:54.517 に答える