私のiPhoneアプリでは、FTPサーバーからデータをダウンロードしています。 UIActivityIndicator
を使用しているアクションを表示します。 UIProgressView
の代わりにUIActivityIndicator
を配置すると、より適切になります。データのダウンロード中にUIProgressView
を使用するにはどうすればよいですか?誰でも私にチュートリアルリンクまたはサンプルコードを提供できますか?前もって感謝します。
まず、.hファイルにIBOutletを作成します
IBOutlet UIProgressView * threadProgressView;
次に、viewdidloadの.mファイルで進捗を0.0に設定してから、makeMyProgressMovingメソッドを呼び出します
threadProgressView.progress = 0.0;
[self performSelectorOnMainThread:@selector(makeMyProgressBarMoving) withObject:nil waitUntilDone:NO];
以下のメソッドを追加します
- (void)makeMyProgressBarMoving {
float actual = [threadProgressView progress];
if (actual < 1) {
threadProgressView.progress = actual + ((float)recievedData/(float)xpectedTotalSize);
[NSTimer scheduledTimerWithTimeInterval:0.05 target:self selector:@selector(makeMyProgressBarMoving) userInfo:nil repeats:NO];
}
else{
}
}
また、回答のためにレビューを提供します。役に立ちましたか?
とても簡単です。 progress
のプロパティUIProgressView
の適切な値を設定するだけです。
NSURLConnection
のデリゲートでは、ダウンロード中にprogress
をダウンロードおよび更新するのを待っているデータ量を受け取る必要があります。 Progress
は、0.0〜1.0の浮動小数点値で表されます。1.0はタスクの完了を示します。
これらのコード行でプログレスバーの進行状況を表示できます
-(void) connection:(NSURLConnection *) connection
didReceiveData:(NSData *) data {
if (file)
{
[file seekToEndOfFile];
progressView.progress = ((float)recievedData / (float) xpectedTotalSize);
}
[file writeData:data];
recievedData += data.length;
NSLog(@"Receiving Bytes: %d", recievedData);
}
オプションの1つはAFNetworkingです。 AFURLConnectionOperationを使用すると、アップロードとダウンロードを簡単にストリーミングしたり、認証チャレンジを処理したり、アップロードとダウンロードの進行状況を監視したり、キャッシュの動作やリクエストを制御したりできます。
注意:self.progressionBalance.progress = 5.0/10.0;
10進数を設定する必要があります。