0

UIProgressViewユーザーが画像をカメラロールに保存するときにを表示したい。

進行状況インジケーターに何を表示するかを決定するには、特定の時点でダウンロードされた画像の量を知る必要があります。これはどうやって判断するのですか?

私は次のようなことをしています:

- (void)updateSaveProgressBar
{    
  if ([self.saveProgressView progress] < 1) {
    self.saveProgressView.progress = (float)receivedData / (float)totalData;
    [NSTimer scheduledTimerWithTimeInterval:0.05 target:self selector:@selector(updateSaveProgressBar) userInfo:nil repeats:NO];
  }
}

self.saveProgressViewですUIProgressView。この例では、どのように値を決定しますreceivedDataか?

ありがとう。

4

1 に答える 1

0

リモート ファイル ダウンロードの進行状況を表示するには、 で非同期ダウンロードを使用しNSURLConnection、接続がデータを受信するたびに進行状況を更新する必要があります ( connection:didReceiveData:)。接続が正常に完了したら、呼び出しUIImageWriteToSavedPhotosAlbumて画像をカメラ ロールに保存できます。また、UIImageWriteToSavedPhotosAlbum保存が完了したときに呼び出すコールバック セレクターがあり、そのセレクターを使用して、画像のダウンロードと保存のすべてのプロセスが完了したことをユーザーに示すことができます。

UIImageWriteToSavedPhotosAlbum(image, self, @selector(image:didFinishSavingWithError:contextInfo:), NULL);

完了セレクター

- (void)               image: (UIImage *) image
    didFinishSavingWithError: (NSError *) error
                 contextInfo: (void *) contextInfo
{

}

幸運を!

于 2013-03-08T06:03:44.257 に答える