0

我在这里找到了很多我遇到的问题的答案,并想第一次提出问题(我是寻求帮助的新手!)

我已经将该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;
4

2 回答 2

0

您至少最初看到 placeholder.png 吗?该图像的大小是否适合您的单元格?阅读其他帖子中的评论,似乎如果您没有 placeHolder 图像,那么在重新加载 tableView 之前它不会显示加载的图像。这与您报告的行为一致。

于 2013-07-09T23:18:44.943 回答
0

我还建议您检查 JSON 获取框架,例如Sensible TableView。该框架将自动从您的 Web 服务中获取所有 JSON 数据,并将处理所有显示细节,包括异步获取图像。为我节省了大量时间。

于 2013-07-10T19:05:25.577 回答