如何删除不可见的 tableview 单元格的下载图像。在ios中

Posted

技术标签:

【中文标题】如何删除不可见的 tableview 单元格的下载图像。在ios中【英文标题】:how to remove invisible tableview cell's downloaded image . in ios 【发布时间】:2012-06-20 09:39:01 【问题描述】:

当我滚动表格视图时,我想在不可见的表格视图单元格中删除下载的图像。

所以我设置了一个标签

- (void)appImageDidLoad:(NSIndexPath *)indexPath

 int row=(int)indexPath
 UITableViewCell *cell;
 cell=[self.gamesTableView cellForRowAtIndexPath:indexPath];

 OneItemCell *cell1=(OneItemCell*) cell;   //custom cell

 cell1.imageview.tag= row+100;

 

i set删除所选行时的下载图像是最后一个行小区(=添加单元格)。

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
  
     if(row==nArrayCount)
   

  if(row>19) 
  

    for(int i=1;i<row-8;i++)
    


        [[self.gamesTableView viewWithTag:i+100] removeFromSuperview]; 

    
 


但它不起作用。因为 [[self.gamesTableView viewWithTag:i+100] 为 NULL。

另一种方法是通过 NSMutableDictionary(=imageRemoveInProgress) 为单元格的 imageView 设置一个键

 - (void)appImageDidLoad:(NSIndexPath *)indexPath
                      .
                       .

        [imageRemoveInProgress setObject:cell1.imageView forKey:[NSNumber numberWithInt:row+100]];

   



   - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
                      .
                       .
    [[imageRemoveInProgress objectForKey:[NSNumber numberWithInt:row+100]] removeFromSuperview];

 

它也不起作用。因为[[imageRemoveInProgress objectForKey:[NSNumber numberWithInt:row+100]] 也是NULL。

[[imageRemoveInProgress objectForKey:[NSNumber numberWithInt:row+100]] 在 appImageDidLoad 中有值。

但在 - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath

它有 NULL。

为什么tagged和seted key value cell的imageView会变成NULL?

如何去除tableViewcell的imageview?

【问题讨论】:

【参考方案1】:

我不知道确切的方法,但我可以提供一个提示

你可以使用这样的东西

NSArray *visiblePaths = [self.tableView indexPathsForVisibleRows];

visiblePaths 是当前可见单元格的 indexPaths 数组,您可以检查要删除图像的单元格是否在该数组中。

【讨论】:

以上是关于如何删除不可见的 tableview 单元格的下载图像。在ios中的主要内容,如果未能解决你的问题,请参考以下文章

UITableview 删除可见区域中的单元格

如何从 tableview 的单元格中删除 imageView,并重置单元格的高度

如何在swift 3中删除tableview中特定单元格的按钮

如何在使用多个部分时为 tableView 单元格的删除/添加设置动画,而部分的数量可能会发生变化

当单元格的高度不同时,如何在表格视图中获取所有单元格的高度?

`UICollectionViewLayout` 如何访问不可见单元格的数据?