我正在使用 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/