アプリケーションに 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
}
}
助けてください。