ios - UIImageView+AFNetworking 图像未在 UITableViewCell 中正确加载

标签 ios uitableview afnetworking

我正在使用 setImageWithURL 将图像延迟加载到我的表格 View 单元格中,但存在问题。它可以很好地加载图像,但设备上似乎存在刷新问题,只有当您将图像滚动出 View 并再次返回时,图像才会显示。

它在模拟器中完美运行。该设备在 iPhone 4S 上运行 iOS 5.1.1

该表显示在 UINavigation Controller 中,并且由于图像被缓存,我希望当我重新访问屏幕时图像能够很快出现。它们确实如此,但显示的大小只有原始大小的一半。

图像尺寸为 60x30。

将图像加载到尺寸为一半的视网膜屏幕时是否会出现问题,什么会导致此刷新问题?

下面的代码片段...

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

    static NSString *CellIdentifier = @"Cell";

    UITableViewCell *cell = [tableview dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) 
    {
        cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];

    }

    ...
    [cell.imageView setImageWithURL:url placeholderImage:[UIImage imageNamed:@"transparent_shade"]];

    ...

    return cell;
}

预先感谢您提供任何见解

最佳答案

我建议在 cellForRowAtIndexPath 方法之前加载/准备图像。您在滚动后看到图像的原因是因为调用此方法时图像之前已下载,因此文件尚不可用。

例如,在 View 的 viewWillAppear 方法中创建一个 NSMutableArray (如果不存在则覆盖它),并将所有图像放入数组中。然后,在 cellForRowAtIndexPath 中,只需从数组中获取图像并根据需要分配它们即可;它们应该按需显示,没有延迟。

请告诉我们这对您有何帮助。

关于ios - UIImageView+AFNetworking 图像未在 UITableViewCell 中正确加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11146522/

相关文章:

ios - 将多个图像发送到 Web 服务器

ios - AFNetworking 到 REST API 返回 401

ios - 向左滑动创建一个新的 collectionViewCell

uitableview - 确定 UIWebView 内容的高度(嵌入 UITableViewCell 中)

objective-c - 当设备方向改变时改变 View Controller

iphone - 我必须延长哪一个类?

ios - uitableview重置删除按钮

ios - 如何从 NSURLSessionDataTask 获取状态码?

ios - 在 NSUserDefaults 键中保存多个值

ios - 我可以开发一个所有元素都用WebKit开发的App吗?