2017-01-11 3 views
2

私のシナリオはこのようになります。アプリケーションの開始時に、画像のリストはサーバ&からダウンロードされます。ダウンロードされると、すべての画像が静止画像に変換され、その後、アプリケーション内のすべての静止画像が使用されます。私はアンドロイドでこのことがBITMAPを使って達成できると思います。 (確認しない)。ダウンロードしたイメージをメモリ内の静的イメージに変換する-IOS

現在、私は画像をダウンロードしてキャッシングするためにSDWEBIMAGEライブラリを使用しています。しかし、私はこのライブラリをもう使用したくありません。私はちょうどすべての画像を一度ダウンロードし、その後、ダウンロードした画像を表示するためのコードスニペットを下に追加したいと思っています。

[ImageView setImage:[UIImage imageNamed:@"DownloadedImageName"]]; 

iosでこのことを行う方法はありますか?

答えて

1

各イメージをダウンロードして「ドキュメント」ディレクトリに保存し、必要に応じてそのイメージを使用する必要があります。ドキュメントディレクトリに画像を保存するための

、このようなコードを使用します。

- (IBAction)saveImage:(UIImage*)img { 
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
    NSString *documentsDirectory = [paths objectAtIndex:0]; 
    NSString *savedImagePath = [documentsDirectory stringByAppendingPathComponent:@"savedImage.png"]; 
    NSData *imageData = UIImagePNGRepresentation(img); 
    [imageData writeToFile:savedImagePath atomically:NO]; 
} 

とImageViewの上で取得し、ショーの画像については、このコードを使用します

- (UIImage*)getImage 
{ 
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,  NSUserDomainMask, YES); 
    NSString *documentsDirectory = [paths objectAtIndex:0]; 
    NSString *getImagePath = [documentsDirectory stringByAppendingPathComponent:@"savedImage.png"]; 
    UIImage *img = [UIImage imageWithContentsOfFile:getImagePath]; 
    return img; 
} 
+0

をそれは正常に動作。どうもありがとう –

0

[UIImage imageNamed:]の方法は、アプリのバンドルに既に存在する画像を取得するためのものです。したがって、インターネットからダウンロードされた動的コンテンツがある場合、この方法は使用できません。代わりに、独自のメソッドを作成して、サンドボックスドキュメントフォルダからイメージをロードします。

関連する問題