从json数据创建自定义UIImage

时间:2013-06-13 16:16:39

标签: objective-c json uiimage

你可以通过示例代码为我提供代码,用于在代码中以编程方式创建具有特定宽度和高度的UIImage对象,然后在其中加载一个应该从json获取的Image(它必须是图像URL)。

如果我使用同步网络请求加载图片,它是否阻止我的UI直到加载完成?如果是的话,解决方案是什么?

先谢谢

1 个答案:

答案 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;
    });
});