如何显示UIImageView的加载图像

时间:2014-02-06 09:30:27

标签: iphone ios7 uiimageview xcode5

我有一个代码来显示来自远程网址的图片。

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
        NSData *imageData = nil;

        imageData = [NSData dataWithContentsOfURL:[NSURL URLWithString:image]];

        if (imageData){
            dispatch_async(dispatch_get_main_queue(), ^{
                // UIKit, which includes UIImage warns about not being thread safe
                // So we switch to main thread to instantiate image
                UIImage *image1 = [UIImage imageWithData:imageData];
                self.imageLabel.image  = image1;


            });
        }
    });

但下载图片需要2秒钟。我试图将动画加载图像放到UIImageView上,但没有用。如何实现2秒的加载图像?

1 个答案:

答案 0 :(得分:2)

通常iOS中没有内置方法来提供占位符图像。您可以使用名为SDWebImage.framework的框架完成此任务。在我的一个项目中,我必须显示占位符图像,而主要图像是从服务器加载的。我使用相同的框架并使用UICollectionView显示图像,我使用的代码是:

-(UICollectionViewCell *)collectionView:(UICollectionView *)collectionView
             cellForItemAtIndexPath:(NSIndexPath *)indexPath
{
    CollectionCell *Cell = [collectionView
                            dequeueReusableCellWithReuseIdentifier:@"MyCell"
                            forIndexPath:indexPath];



   [Cell.imageview setImageWithURL:url placeholderImage:[UIImage imageNamed:@"image.png"]];

    return myCell; 
}