在我的iPhone应用程序中,我正在从FTP服务器下载一些数据。显示我正在使用UIActivityIndicator
的操作。如果我将UIProgressView
放在UIActivityIndicator
而不是UIProgressView
,那将更合适。下载某些数据时如何使用{{1}}?任何人都可以给我一个教程链接或示例代码吗?提前谢谢。
答案 0 :(得分: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{
}
}
也会给出您的回答。它对你有用吗?
答案 1 :(得分:4)
这很简单。您只需要设置progress
的属性UIProgressView
的适当值。
在NSURLConnection
的代表中,您应该会收到下载期间等待下载和更新progress
的数据量。 Progress
由0.0到1.0之间的浮点值表示,其中1.0表示任务完成。
答案 2 :(得分: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);
}
答案 3 :(得分:2)
其中一个选项是AFNetworking。 AFURLConnectionOperation还允许您轻松地流式上传和下载,处理身份验证挑战,监控上载和下载进度,以及控制缓存行为或请求。
答案 4 :(得分:0)
注意到:self.progressionBalance.progress = 5.0 / 10.0;
你必须设置小数。