我正在尝试将一些文件上传到服务器。这些文件列在UItableview
上。我的问题是:
如何在每个表格单元格中显示UIProgressView
并显示每个上传文件的进度。
我当前的代码能够在每个单元格中显示UIProgressView,但是当我尝试上传时,进度条没有移动。该程序假设一次上传1个文件,在第一个文件完成后,第二个文件将开始上传。作为响应,当第一个文件完成时,第一个文件的进度条将停止,并且secong文件的进度条将开始移动。希望这很清楚。我真的需要一些帮助,我无法在网上找到它。谢谢你提前。谢谢
答案 0 :(得分:0)
您必须维护数组中每个单元格的进度值。
我想你必须在cellForRowAtIndexPath方法中设置UIProgressView对象的进度值,所以每当你从网络代码回调时,你需要调用[self.tableView reloadData],网络代码将文件上传到具有当前上传大小的服务器。
答案 1 :(得分:0)
可能的解决方案(可以优化):(抱歉格式化,无法使其正常工作)
为tableView
在视图控制器中创建一个字段,您将在其中存储已上传的字节数(bytesAlreadyUploaded) - 您应该从上传者那里重复接收此类信息。
创建一个字段,您可以在其中存储当前上传的上传字节数(bytesToUpload)
创建一个字段,您可以在其中指定当前使用的进度视图的指针(progressViewCurrentlyUsed)
- (void)refreshProgress { progressViewCurrentlyUsed.progress = bytesAlreadyUploaded / (CGFloat的)bytesToUpload;
}
refreshTimer = [NSTimer timerWithTimeInterval:0.1 target:self 选择器:@selector(refreshProgress) userInfo:nil重复:是];
[[NSRunLoop mainRunLoop] addTimer:refreshTimer forMode:NSDefaultRunLoopMode];