如何在iPhone中显示从URL下载的图像?
问题描述:
我正在从网站下载图片并保存。当我尝试在使用ImageView的UI中显示相同的图像时,我无法做到这一点。所以请在下面的代码中建议我需要做些什么改变。如何在iPhone中显示从URL下载的图像?
谢谢。
{
NSLog(@"Downloading...");
UIImage *image = [[UIImage alloc] initWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://www.objectgraph.com/images/og_logo.png"]]];
NSLog(@"%f,%f",image.size.width,image.size.height);
NSString *docDir = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
NSLog(@"%@",docDir);
NSLog(@"saving png::::%@", docDir);
NSString *pngFilePath = [NSString stringWithFormat:@"%@/test.png",docDir];
NSData *data1 = [NSData dataWithData:UIImagePNGRepresentation(image)];
[data1 writeToFile:pngFilePath atomically:YES];
NSString *sss = [docDir stringByAppendingString:@"/test.png"];
imageView1.image = [UIImage imageNamed:sss];
NSLog(@"------%@",sss);
[image release];
}
答
UIImage *theUIimage = [UIImage imageNamed:sss];
image = [[UIImageView alloc] initWithImage:theUIimage];
[imageView1 addSubview:image];
答
如何你imageView
initalized?请务必指定imageView.frame
。
例如为:
CGRect frame = CGRectMake(xPositionInView,yPositionInView,
image.size.width,image.size.height);
imageView.frame = frame;
小评此'的NSData * DATA1 = [NSData的dataWithData:UIImagePNGRepresentation(图像)];'相同'NSData的* DATA1 = UIImagePNGRepresentation(图像);'。但是现在你并没有创建一个能够节省内存的对象。 – rckoenes