20

私のiPhoneアプリでは、FTPサーバーからいくつかのデータをダウンロードしています。私が使用しているアクションを表示するためにUIActivityIndicatorUIProgressViewの代わりにそこに置くUIActivityIndicatorと、より適切になります。UIProgressView一部のデータをダウンロードするときにどのように使用しますか?誰かが私にチュートリアルリンクまたはサンプルコードを教えてもらえますか?前もって感謝します。

4

5 に答える 5

40

まず、.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{



        }

    } 

また、答えのためにあなたのレビューを与えてください。それはあなたにとって役に立ちますか?

于 2011-09-14T12:05:08.483 に答える
4

とても簡単です。progressのプロパティの適切な値を設定する必要がありますUIProgressView

あなたの代理人はNSURLConnection、ダウンロードを待っている量のデータを受け取り、ダウンロードprogress中に更新する必要があります。Progressは、0.0から1.0までの浮動小数点値で表されます。ここで、1.0はタスクの完了を示します。

于 2011-09-14T07:36:36.670 に答える
4

これらのコード行でプログレスバーの進行状況を表示できます

-(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);
}
于 2011-09-14T07:54:52.197 に答える
2

オプションの1つはAFNetworkingです。AFURLConnectionOperationを使用すると、アップロードとダウンロードを簡単にストリーミングしたり、認証の課題を処理したり、アップロードとダウンロードの進行状況を監視したり、キャッシュの動作や要求を制御したりすることもできます。

于 2012-12-24T10:05:29.397 に答える
0

注:self.progressionBalance.progress = 5.0 / 10.0;

小数を設定する必要があります。

于 2017-10-23T07:57:17.593 に答える