我找到了很多我在这里遇到的问题的答案,并且想第一次提出问题(我是新手,请求帮助!)
我已将SDWebImage
框架实施到一个项目中,该项目使用JSON
已解析数据填充UITableViewController
。图像正在成功缓存,但是当应用程序首次启动时,所有单元格图像都不存在。只有当我向上或向下滚动并显示行时(或当我点击它们以选择一行时)它们才会出现。如果我回到它,所有图像都缓存并正常工作。这只是第一次发布,我错过了我的所有图像。我粘贴了我在这里的东西,希望有人可以发布一个简单的解决方案。我觉得这是一件很小的事情,我必须做的就是让它们在首次发布时出现。
代码如下:
static NSString *MyIdentifier = @"Maincell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:MyIdentifier];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:MyIdentifier];
}
UIFont *wireBold = [UIFont fontWithName:@"Helvetica" size:14.0f];
cell.textLabel.text = [[news objectAtIndex:indexPath.row]objectForKey:@"Title"];
cell.textLabel.font = wireBold;
cell.textLabel.textColor = [UIColor blackColor];
UIFont *wireSub = [UIFont fontWithName:@"Sintony" size:10.0f];
cell.detailTextLabel.text = [[news objectAtIndex:indexPath.row]objectForKey:@"Name"];
cell.detailTextLabel.font = wireSub;
cell.detailTextLabel.textColor = [UIColor grayColor];
cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
NSString *filePath = [[news objectAtIndex:indexPath.row]objectForKey:@"Image"];
NSString *urlString = [NSString stringWithFormat:@"http://www.mywebhost/images/%@.png",filePath];
[cell.imageView setImageWithURL:[NSURL URLWithString:urlString] placeholderImage:[UIImage imageNamed:@"placeholder.png"]];
return cell;
答案 0 :(得分:0)
你最初是否至少看过placeholder.png?该图像是否适合您的细胞?阅读其他帖子中的评论,似乎如果你没有placeHolder图像,那么在重新加载tableView之前它不会显示加载的图像。这与您报告的行为一致。
答案 1 :(得分:0)
我还建议您签出JSON抓取框架,例如Sensible TableView。该框架将自动从您的Web服务获取所有JSON数据,并将处理所有显示详细信息,包括异步获取图像。节省了大量的时间。