how to use the progress bar in the iphone app

后端 未结 5 1899
情歌与酒
情歌与酒 2020-12-07 21:31

In my iPhone app I am downloading some data from an FTP server. To show the action I am using UIActivityIndicator. If I put UIProgressView there in

相关标签:
5条回答
  • 2020-12-07 21:50

    first you create IBOutlet in .h file

    IBOutlet UIProgressView * threadProgressView;
    

    Then in .m file in viewdidload first set progress to 0.0 and then call makeMyProgressMoving method

        threadProgressView.progress = 0.0;
        [self performSelectorOnMainThread:@selector(makeMyProgressBarMoving) withObject:nil waitUntilDone:NO];
    

    then add below method

    - (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{
    
    
    
            }
    
        } 
    

    also give your review for answer. is it useful to you?

    0 讨论(0)
  • 2020-12-07 21:52

    It is quite simple. You just need to set appropriate value of property progress of UIProgressView.

    In delegate of NSURLConnection you should receive the amount of data you are waiting to download and update the progress during downloading. Progress is represented by a floating-point value between 0.0 and 1.0, inclusive, where 1.0 indicates the completion of the task.

    0 讨论(0)
  • 2020-12-07 21:53

    One of the option is AFNetworking. AFURLConnectionOperation also allows you to easily stream uploads and downloads, handle authentication challenges, monitor upload and download progress, and control the caching behavior or requests.

    0 讨论(0)
  • 2020-12-07 21:59

    You can display progress of progress bar with these line of code

    -(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);
    }
    
    0 讨论(0)
  • 2020-12-07 22:08

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

    you must set decimal.

    0 讨论(0)
提交回复
热议问题