-1

アプリに画像をダウンロードするにはどうすればよいですか? 私のウェブサイトから画像を取得し、それを人のiPhoneアプリにダウンロードしてアプリに表示したいですか?基本的に画像はURLで表示されません。

より具体的に:

UIImage を使用せずに画像をアプリにダウンロードするにはどうすればよいですか。画像を取得してファイル名「anne.png」としてダウンロードし、UIImage を anne.png として使用してアプリ全体で参照します。参照 - 最初にダウンロードして、誰かが 2 回目にアプリにアクセスしたときに画像が表示され、その間にデフォルトの画像が表示されるようにしたい..ありがとう.?

4

2 に答える 2

0

単一の画像の場合、次を使用できます。これにより、画像が完全にダウンロードされるまで UI がブロックされることに注意してください。

[UIImage imageWithData:[NSData dataWithContentsOfURL:photoURL]];

UI をブロックせずに画像をダウンロードするには:

dispatch_queue_t downloadQueue = dispatch_queue_create(“image downloader”, NULL);

dispatch_async(downloadQueue, ^{
    [NSData dataWithContentsOfURL:photoURL];
    dispatch_async(dispatch_get_main_queue(), ^{
        UIImage *image = [UIImage imageWithData:imageData];
        // Code to show the image in the UI goes here
    });
});

画像を電話のカメラ ロールに保存するには、UIImageWriteToSavedPhotosAlbumを使用できます。

アプリのディレクトリに画像を保存します。NSData のwriteToFile: atomically を使用します。

ウェブサイトから複数の画像をダウンロードするには、これが役立つかもしれません:

複数の画像をダウンロードして複数の UIImageView を表示する最良の方法は何ですか?

于 2013-02-08T21:55:14.047 に答える
0

http://mobiledevelopertips.com/cocoa/download-and-create-an-image-from-a-url.html

リモート画像への URL

まず、リモート リソースへの URL を作成します。

NSURL *url = [NSURL URLWithString: @"http://mobiledevelopertips.com/images/logo-iphone-dev-tips.png"];

NSData から UIImage を作成する

次のステップは、URL からダウンロードしたデータを使用して UIImage を構築することです。このデータは、リモート イメージのコンテンツを保持する NSData オブジェクトで構成されます。

 UIImage *image = [UIImage imageWithData: [NSData dataWithContentsOfURL:url]];

それを一緒に入れて

上記の UIImage から UIImageView を作成して、既存のビューにリモート イメージをサブビューとして追加し、すべてをまとめてラップする方法を次に示します。

   NSURL *url = [NSURL URLWithString:@"http://mobiledevelopertips.com/images/logo-iphone-dev-tips.png"];
UIImage *image = [UIImage imageWithData: [NSData dataWithContentsOfURL:url]]; 
  [self.view addSubview:[[UIImageView alloc] initWithImage:image]];
于 2013-02-08T21:56:14.100 に答える