私のiPhoneアプリでは、FTPサーバーからいくつかのデータをダウンロードしています。私が使用しているアクションを表示するためにUIActivityIndicator
。UIProgressView
の代わりにそこに置くUIActivityIndicator
と、より適切になります。UIProgressView
一部のデータをダウンロードするときにどのように使用しますか?誰かが私にチュートリアルリンクまたはサンプルコードを教えてもらえますか?前もって感謝します。
5 に答える
まず、.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;
小数を設定する必要があります。