0

画面の1つに表示しているドキュメントフォルダに画像があります。ウェブから画像を読み込む場合と同様に、画像を読み込んで画面に表示するのに時間がかかります。私の知る限り、非同期imageViewは後者の場合に機能します。私は間違っているかもしれません。

とにかく、ドキュメントフォルダの画像を非同期で表示できますか?

4

2 に答える 2

1

SDWebImageを見てください。これはUIImageViewサブクラスであり、URLから非同期で、便利なキャッシュを使用して画像を表示できます。インターネットのURLで動作するように設計されていますが、内部のURLでも動作すると思います。

于 2012-07-09T07:44:17.223 に答える
1

次のように、画像の読み込みをバックグラウンドスレッドに入れます

-(void)backgroundLoadImageFromPath:(NSString*)path {
    UIImage *newImage = [UIImage imageWithContentsOfFile:path];
    [myImageView performSelectorOnMainThread:@selector(setImage:) withObject:newImage waitUntilDone:YES];
}

次に、画像を設定する必要がある場所でそのスレッドを呼び出します

[self performSelectorInBackground:@selector(backgroundLoadImageFromPath:) withObject:path];

backgroundLoadImageFromPathでは、setImage:セレクターが終了するまで待つ必要があることに注意してください。そうしないと、setImage:メソッドが画像を保持する前に、バックグラウンドスレッドの自動解放プールが画像の割り当てを解除する可能性があります。

于 2012-07-09T07:44:51.967 に答える