你可以通过示例代码为我提供代码,用于在代码中以编程方式创建具有特定宽度和高度的UIImage对象,然后在其中加载一个应该从json获取的Image(它必须是图像URL)。
如果我使用同步网络请求加载图片,它是否阻止我的UI直到加载完成?如果是的话,解决方案是什么?
先谢谢
答案 0 :(得分:1)
从json数据中提取图像URL,下载图像,然后根据需要使用图像。
NSString *imageURL = url from your json string;
NSURL *url = [NSURL URLWithString:imageURL];
UIImageView *imageView = [UIImageView alloc] initWithFrame:CGRectMake(0,0,50,75)];
[yourParentView addSubview: imageView];
dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
dispatch_async(queue, ^{
UIImage *image = [UIImage imageWithData: [NSData dataWithContentsOfURL:url]];
dispatch_sync(dispatch_get_main_queue(), ^{
imageView.image = image;
CGRect frame = CGRectMake(imageView.origin.x, imageView.origin.y, image.size.width, image.size.height);
imageView.frame = frame;
});
});