如何通过json解析在表格单元格中显示图像

时间:2012-11-23 12:23:37

标签: iphone objective-c ios

NSURL *url = [NSURL URLWithString:@"yourimage"];
NSData *data = [NSData dataWithContentsOfURL:url];
UIImage *img = [[[UIImage alloc] initWithData:data] autorelease];

此代码我用来获取图像,但如何在表格单元格中显示它。

4 个答案:

答案 0 :(得分:1)

试试这个,

- (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];
}
NSURL *url = [NSURL URLWithString:[imageArray objectAtIndex: [indexPath row]]];
NSData *data = [NSData dataWithContentsOfURL:url];
UIImage *img = [[[UIImage alloc] initWithData:data] autorelease];
[[cell imageView] setImage:img];

return cell;
}

答案 1 :(得分:1)

FirstLy您需要在iOS应用程序中解析该JSON文件。 我猜你从图像的JSON获得了一些URL,所以你需要下载图像表格,并且可以在任何UIIMageView上设置IMage,你可以将该UIIMageView设置为UITablViewCell的内容视图。

这里你需要管理一个假设你有许多图像要下载形式特定路径。所以你应该照顾UI交互 以下是如何从URL下载图像并在UIImageView上设置下载图像并将该UIImageView设置为UITableViewcell的ContentView的良好示例。在此示例中,您还将看到如何添加的方式TableViewcEll上的这些图像。

Here Is The Link For That Example

我希望它可以帮到你。

答案 2 :(得分:0)

你可以用

完成
UITableViewCell *cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"Cell"];
[[cell imageView] setImage:img];

但这可能不会很好地运行,因为您同步下载图片并且很可能会使您的应用程序断断续续。

您应该对图像使用延迟加载,举个例子来看看 http://developer.apple.com/library/ios/#samplecode/LazyTableImages/Introduction/Intro.html

答案 3 :(得分:0)

这对我有用:

NSURL *url = [NSURL URLWithString:[aTweet objectForKey:@"profile_image_url"]];
NSData *imgData = [NSData dataWithContentsOfURL:url];
cell.imageView.image = [UIImage imageWithData:imgData];