在UITableView中滚动时,CustomCell图像会发生变化

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在UITableView中滚动时,CustomCell图像会发生变化相关的知识,希望对你有一定的参考价值。

问题:滚动表时再次调用API。 我所做的代码:

- (UITableViewCell*)tableView:(UITableView*)tableView cellForRowAtIndexPath:(NSIndexPath*)indexPath {
    ITableViewCell* cell = ( ITableViewCell* )[self.tblNotes dequeueReusableCellWithIdentifier:@"NoteTableCell"];

    cell.tag = indexPath.row;
    if(cell.tag == indexPath.row) {
        cell = [cell initWithNote:[notesArray objectAtIndex:indexPath.row]];
    }
    [cell setNeedsLayout];
    [cell setNeedsDisplay];
    return cell;
}  

我不想在滚动时调用initWithNote

提前致谢。

答案
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{

   ITableViewCell* cell = [tableView dequeueReusableCellWithIdentifier:@"NoteTableCell"];
    if (cell == nil) {
        NSArray *topLevelObjects = [[NSBundle mainBundle] loadNibNamed:@"NoteTableCell" owner:self options:nil];
        cell = [topLevelObjects objectAtIndex:0];
    }

    id object = [notesArray objectAtIndex:indexPath.row];
    if ([object isKindOfClass:[NSDictionary class]]) {
        NSDictionary *dict = (NSDictionary *)object;
        [cell.userNameforNotes setText:[NSString stringWithFormat:@"%@",[[dict valueForKey:@"uploadedBy"] uppercaseString]]];
        [cell.noteDescription setText:[NSString stringWithFormat:@"%@",[[dict valueForKey:@"description"] uppercaseString]]];
        [cell.dateForNotes setText:[NSString stringWithFormat:@"%@",[[dict valueForKey:@"uploadedDate"] uppercaseString]]];
        NSString *urlString = [NSString stringWithFormat:@"%@", [dict valueForKey:@"incidentID"]];
        [cell.noteImage sd_setImageWithURL:[NSURL URLWithString:urlString]];
    }
    return cell;
}
另一答案

为此,您可以检测tableview是否在此委托scrollViewWillBeginDragging的帮助下滚动,如果是,那么您可以保留一些标志或某些东西可以告诉您的代码不要调用initWithNote:。滚动完成后你可以用scrollViewDidEndDragging:检查它,你可以做任何你想做的事情。由于tableview包含scrollview,因此您可以轻松地从scrollview委托中获取帮助。

以上是关于在UITableView中滚动时,CustomCell图像会发生变化的主要内容,如果未能解决你的问题,请参考以下文章

UITableView 仅在向上滚动时更新,而不是向下滚动

UITableView 在快速滚动时崩溃

UItableView 在滚动时加载数据

在 iOS 的 UITableView 中滚动时索引错误

iOS UITableView在过滤时滚动插入

如何在滚动时更新 UITableView 数据