如何在UICollectionview中使用SDWebImage Frame工作从Web服务中解析图像?

时间:2014-10-14 07:19:24

标签: ios sdwebimage

我是iOS开发的新手。我想知道如何使用SDWebImage Framework进行图像通过Web服务进行解析并将图像放在集合视图自定义单元格上?有任何资源请给我。

1 个答案:

答案 0 :(得分:1)

我建议你使用DLImageLoader。它维护得非常好,在iOS中基本上很重要。

现在DLImageLoader也有一个完美的Swift版本。

https://github.com/AndreyLunevich/DLImageLoader-iOS/tree/master/DLImageLoader

正确加载图像很容易......

-(UICollectionViewCell *)collectionView:(UICollectionView *)cv
         cellForItemAtIndexPath:(NSIndexPath *)indexPath
    {
    NSInteger thisRow = indexPath.row;
    BooksCell *cell;
    cell = [cv dequeueReusableCellWithReuseIdentifier:
              @"CellBooksNormal" forIndexPath:indexPath];

    cell.layer.shouldRasterize = YES;
    cell.layer.rasterizationScale = [UIScreen mainScreen].scale;

    // set text items...
    cell.title = @"blah";

    // set image items using DLImageLoader

    __weak UIBookView *loadMe = cell.anImage;
    [DLImageLoader loadImageFromURL:imUrl
       completed:^(NSError *error, NSData *imgData)
        {
        [loadMe use:[UIImage imageWithData:imgData]];
        }];

    return cell;
    }

当你说网络服务时,这里是如何获得facebook用户头像的例子

PFObject *aFacebookUser = [self.fbFriends objectAtIndex:thisRow];
NSString *facebookImageURL = [NSString stringWithFormat:
    @"http://graph.facebook.com/%@/picture?type=large",
    [aFacebookUser objectForKey:@"id"] ];

__weak UIImageView *loadMe = self.cellImage;
[DLImageLoader loadImageFromURL:facebookImageURL
   completed:^(NSError *error, NSData *imgData)
    {
    if ( loadMe == nil ) return;

    if (error == nil)
        {
        UIImage *image = [UIImage imageWithData:imgData];
        image = [image ourImageScaler];
        loadMe.image = image;
        }
    else
        {
        // an error when loading the image from the net
        }
    }];