动态更新 UIProgressView 的进度

Posted

技术标签:

【中文标题】动态更新 UIProgressView 的进度【英文标题】:Updating UIProgressView's progress dynamically 【发布时间】:2012-05-10 10:09:09 【问题描述】:

以下是更新我的进度视图的场景。 我的问题是我的最后一个进度条只会更新.....

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

    我将 UIProgressView 动态放入 UITableViewCell 中。

    我是这样实现的……

    -- // 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;
    

    更新progressview的进度 在 cellForRowAtIndexPath 的末尾 像这样......

       [NSTimer scheduledTimerWithTimeInterval:0.001f target:self selector:@selector(refreshProgress) userInfo:nil repeats:YES];
    

    //刷新进度的实现......

        -(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];
        
    

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

Thnx in advnce 帕吉 123

【问题讨论】:

请提供有关 tempArray 及其组成的更多信息 【参考方案1】:

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

你必须继承一个 UITableViewCell,并在其中创建一个带有 refreshProgresbar 的方法。然后,您可以遍历当前单元格并进行刷新。

【讨论】:

我有 progessview 的动态计数,并且 tempArray 以这种方式定义------ // 在 cellForRowAtIndex ........... ......... NSString *strIndex=[NSString stringWithFormat:@"%d", progressBar.tag]; tempArray=[[NSMutableArray alloc]init]; [tempArray addObject:strIndex]; [tempArray addObject:cell];

以上是关于动态更新 UIProgressView 的进度的主要内容,如果未能解决你的问题,请参考以下文章

UIProgressView 指示器未使用正确的“进度”更新

加载 UIWebView 时如何使用 UIProgressView?

更改视图控制器后如何更新 UIProgressView 以显示 NSUrlSession 下载进度

[UIProgressView在滚动uitableview时被隐藏

UIProgressView 在我的应用程序加载其资源时没有更新

UIProgressView 动画只能正常工作一次