iOS UITableViewCell imageView无法正常工作

时间:2014-08-05 21:00:15

标签: ios objective-c uitableview uiimageview

在下载大图像时,我用一个小图像初始化一个tableviewcell。当下载大图像时,我通知tableView单元imageView更新图像,但没有任何反应。

这是我的表格视图单元格创建方法

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    static NSString *cellID = @"EventTableViewCellID";

    EventTableViewCell *cell = [self.eventsTableView dequeueReusableCellWithIdentifier:cellID forIndexPath:indexPath];

    Event *e = [_events objectAtIndex:indexPath.row];

    [cell.eventTitle setText:e.eventTitle];

    if (e.largeEventImage) {
        [cell.eventImageView setImage:[e largeEventImage]];
    } else {
        [cell.eventImageView setImage:[e thumbImage]];
    }

    cell.event = e;
    cell.delegate = self;
    cell.selectionStyle = UITableViewCellSelectionStyleNone;

    NSString *dateString = [_formatter stringFromDate:e.eventDate];
    [cell.eventDate setText:dateString];

    return cell;
}

当获取图像并且应该更新单元格图像视图时,将调用此方法(在tableView单元格中)

- (void)imagesDownloaded {
    if (self.event.largeEventImage) {
        [self.eventImageView setImage:_event.largeEventImage];
    } else {
        [self.eventImageView setImage:_event.thumbImage];
    }
}

1 个答案:

答案 0 :(得分:0)

你可以使用AFNetworking库。

有一个类AFNetworking + UIImageView

这是加载和显示图像的方法......

[imageView setImageWithURLRequest:request
             placeholderImage:@"Your thumbImage"
                      success:^(NSURLRequest *request, NSHTTPURLResponse *response, UIImage *image) {
                         yourImageView.image = image;
                      }
                     failure:nil];

希望这有助于您完成工作。