我的应用程序中有一个 UITableView 并且我已经对其进行了自定义。每个单元格包含一个 Imageview 和一个按钮。当我单击按钮时,将开始下载过程,并且该按钮将替换为 UIProgressView。一旦下载完成,进度视图将被删除,并且按钮将再次显示不同的状态。对于屏幕中可见的单元格,它工作正常。但是一旦下载完成,我就无法更新屏幕外的单元格。即使单元格不在屏幕上,进度视图更新也能正常工作。但是在尝试用按钮替换进度视图时遇到问题。
这是我的一些代码示例:
用于更新,一旦下载完成,
//Creating custom cell with the Id value and upadting the cell
NSIndexPath *indexPath = [NSIndexPath indexPathForRow:btnId inSection:0]; //btnId is the id of the button clicked
UIMenuItemCell *cell = [(UIMenuItemCell *)[self.menuItemsPanel cellForRowAtIndexPath:indexPath] retain];
//hiding the progressview
for (UIProgressView *currentProgress in cell.contentView.subviews) {
if ([currentProgress isKindOfClass:[UIProgressView class]]) {
currentProgress.hidden = YES;
[cell.contentView reloadInputViews];
}
}
for (UIButton *currentBtn in cell.contentView.subviews) {
if ([currentBtn isKindOfClass:[UIButton class]]) {
if (currentBtn) {
//updating the button status here, once the download is complete
}
}
请帮忙。