如何UIImageView
加载图片,但网址是UILabel
?
更多解释:我有UILabel
包含图片网址,因此我希望此地址在UIImageView
上加载图片。我想它涉及一些编码,但我不知道如何做到这一点。请帮忙!
答案 0 :(得分:3)
UIImage *myImage = [[UIImage alloc] initWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:yourlabel.text]]];
在UIImageView上添加以上图片:
UIImageView *img = [[UIImageView alloc] initWithImage:myImage];
编辑:转到here并阅读“类别”部分。那里的示例方法检查您的字符串是否是带有http://前缀的URL。使用它,如果它返回NO,只需将字符串“http://”作为前缀添加到yourlabel.text,然后将其传递给上面而不是yourlabel.text
是的,正如链接所说,它只是基本的URL检测,只是验证字符串是否带有前缀为http://
示例代码:基于窗口的简单应用
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
// Override point for customization after application launch.
UILabel *label = [[UILabel alloc] init];
label.text = @"http://www.arthistoryarchive.com/arthistory/cubism/images/PabloPicasso-Weeping-Woman-with-Handkerchief-1937.jpg";
UIImage *myImage = [[UIImage alloc] initWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:label.text]]];
UIImageView *img = [[UIImageView alloc] initWithImage:myImage];
img.frame = CGRectMake(0, 0, 768, 1024);
[self.window addSubview:img];
[self.window makeKeyAndVisible];
return YES;
}
答案 1 :(得分:0)
这比你想象的容易。
首先,将您的网址字符串转换为NSURL
NSURL* imageUrl = [NSURL URLWithString:url];
然后在该URL加载数据
NSData* imageData = [NSData dataWithContentsOfURL:imageUrl];
然后将该数据加载到UIImage
UIImage* image = [UIImage imageWithData:imageData];
最后,告诉您的UIImageView显示该图像
imageView.image = image;