如何通过json解析在表格单元格中显示图像
NSURL *url = [NSURL URLWithString:@"yourimage"]; NSData *data = [NSData dataWithContentsOfURL:url]; UIImage *img = [[[UIImage alloc] initWithData:data] autorelease];
我用这个代码获取图像,但如何在表格单元格中显示它。
尝试这个,
- (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; }
FirstLy您需要在iOS应用程序中解析该JSON文件。 我猜你从图像的JSON获得了一些URL,所以你需要下载图像表格,这个图形表格可以在任何UIIMageView上设置IMage,你可以将UIIMageView设置为UITablViewCell
的内容视图。
在这里你需要管理一个假设你有许多图像要下载forms特定的路径。所以你应该照顾的UI交互也在这里是如何从URL下载图像和设置下载图像的良好示例UIImageView并将UIImageView设置为UITableViewcell
的ContentView。在此示例中,您还将看到如何通过TableViewcEll添加这些图像的方法。
这是这个例子的链接
我希望它可以帮助你。
你可以做到
UITableViewCell *cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"Cell"]; [[cell imageView] setImage:img];
但这可能不会很好地运行,因为你同步下载图像,这很可能使你的应用程序口吃。
您应该对图像使用延迟加载,例如,请查看http://developer.apple.com/library/ios/#samplecode/LazyTableImages/Introduction/Intro.html
这对我有用:
NSURL *url = [NSURL URLWithString:[aTweet objectForKey:@"profile_image_url"]]; NSData *imgData = [NSData dataWithContentsOfURL:url]; cell.imageView.image = [UIImage imageWithData:imgData];