我有以下图像xml标签,其中存储了图像路径
NSString *imgstring =[[blogEntries objectAtIndex: blogEntryIndex1] objectForKey: @"image"];
现在我想通过以下方法在UITAble单元格中显示此图像
cell.textLabel.text=imgstring;
我正在获取单元格上的路径而不是实际图像我应该如何显示图像
答案 0 :(得分:0)
当然,您正在显示文本 - 您正在将UILabel的text属性设置为字符串:)如何知道您希望它显示图像?
你想要像
这样的东西cell.imageView.image = [UIImage imageNamed:imgstring];
有关详细信息,请查看UITableViewCell documentation
但是,这只适用于项目中的图像 - 对于外部图像,您将需要做更多的工作。
NSString *imgstring =[[blogEntries objectAtIndex: blogEntryIndex1] objectForKey: @"image"];
NSURL *url = [NSURL URLWithString:imgstring];
NSData *data = [NSData dataWithContentsOfURL:url];
UIImage *img = [[UIImage alloc] initWithData:data];
但是,这将阻止您的应用,直到加载图像。相反,您可能需要加载图像是背景:
// Tell your code to load the image for a cell in the background
NSString *imgstring =[[blogEntries objectAtIndex: blogEntryIndex1] objectForKey: @"image"];
NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys:cell, @"cell", imgstring, @"imgstring", nil];
[self performSelectorInBackground:@selector(loadImage:) withObject:dict];
- (void) loadImage:(id)object {
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
// Get the data to pass in
NSDictionary *dict = (NSDictionary *)object;
// Get the cell and the image string
NSString *imgstring = [dict objectForKey:@"imgstring"];
UITableViewCell *cell = [dict objectForKey:@"cell"];
NSURL *url = [NSURL URLWithString:imgstring];
NSData *data = [NSData dataWithContentsOfURL:url];
UIImage *img = [[UIImage alloc] initWithData:data];
[pool release];
}
但是如果你不小心这个问题,你会遇到线程问题:)
如果您遇到任何其他问题,请发表另一条评论,我会尽力帮助您!
PS我没有测试过这段代码,只是直接输入,所以可能会有拼写错误,对不起!