动态更新UIProgressView的进度

时间:2012-05-10 10:09:09

标签: uitableview ios-4.2 uiprogressview

以下是更新我的进度视图的方案。 我的问题是我的上一个进度条只更新.....

  1. 视图控制器触摸时按钮开始从ftp服务器下载。 当立即触摸时导航到另一个视图控制器,其中uitableview显示正在进行的不同下载。

  2. 我动态地将UIProgressView放在UITableViewCell中。

  3. 我是以这种方式实施的......

    - // cellForRowAtIndexPath  //将进度视图添加到单元格

    progressBar = [[UIProgressView alloc] initWithProgressViewStyle:UIProgressViewStyleBar];
    progressBar.hidden=NO;
    progressBar.tag=123+indexPath.row;
    progressBar.frame = CGRectMake(250,170,350,25);
    progressBar.progress=0.0f;
    
  4. 更新进度视图的进度 在cellForRowAtIndexPath的末尾 像这样......

       [NSTimer scheduledTimerWithTimeInterval:0.001f target:self selector:@selector(refreshProgress) userInfo:nil repeats:YES];
    
  5. //实施刷新进度......

        -(void)refreshProgress
        {
    
    UITableViewCell *cell=(UITableViewCell *)[tempArray objectAtIndex:1];
    NSString * int_index=[tempArray objectAtIndex:0];
    FTPManager *objFTPMgr = [[FTPManager alloc] init];
    int index1=[int_index intValue];
    UIProgressView *prgView=(UIProgressView *)[cell viewWithTag:index1];
    prgView.progress = [objFTPMgr putProgress];
    [objFTPMgr release];
    [prgView reloadInputViews];
        }
    

    如果有人有解决方案,请写信给这个帖子

  6. Thnx in advnce Paggy 123

1 个答案:

答案 0 :(得分:0)

我不知道你有多少个progresview,但是使用方法refresProgress,你只能调用tempArray [1]的单元格的进度视图;

您必须子类化UITableViewCell,并使用refreshProgresbar在其中创建一个方法。然后,您可以遍历当前单元格并进行刷新。