2012-11-30 49 views
0

我想更新自定义tableview单元格的progressview,但进度视图不会更新。ProgressView不会更新在tableview

我可以设置tableview单元格上的标签,但访问像进度条或活动指标的东西不起作用。

我做的自定义单元格

cell.progressView.hidden = NO; 
cell.progressView.progress = 0.5; 
[cell.progressView setNeedsDisplay]; 

这即使在调试器中我看到的对象是正确的细胞类型和progressView分配行不通以下。

我已经尝试过单元格本身的setNeedsDisplay,但没有运气。我错过了什么?

+0

显示'cellForRowAtIndexPath:'的代码。你可能会错误地设置它。一个常见问题是将自定义视图反复添加到单元格中。 – rmaddy

+0

在发布代码之前,可能是我调用CustomTableViewCell * cell =(CustomTableViewCell *)[self tableView:tableView cellForRowAtIndexPath:indexPath];在didSelectRowAtIndexPath中?然后我使用这个单元格指针设置属性 – jarryd

回答

1

调用[self tableView:tableView cellForRowAtIndexPath:indexPath];是最有可能的问题,因为这可能导致另一个单元从表中出列。所以你最终设置了一个新的单元,而不是当前正在显示的单元。

相反,这样做:

CustomTableViewCell *cell = (CustomTableViewCell *)[tableView cellForRowAtIndexPath:indexPath]; 

这直接询问表中的单元格。这应该返回当前显示的单元格,如果该行可见。

+0

非常感谢,你真的帮了我。我的活动指标也出现了。 :) – jarryd