如何在集合视图ios中显示资产URL

时间:2014-03-11 10:09:58

标签: ios uicollectionview alassetslibrary

ALAssetsGroupEnumerationResultsBlock assetsEnumerationBlock = ^(ALAsset *result, NSUInteger index, BOOL *stop) 
                 {
                if (result) {
             [assets addObject:result];
             ALAssetRepresentation *rep = [result defaultRepresentation];
            photoname=[rep filename];
            imageurl=[rep url];
            NSLog(@"result %@",result);
            NSLog(@"name %@",photoname);//Img0001.Jpg
            NSLog(@"name %@",imageurl);//assets-library://asset/asset.JPG?id=3B36DBC8-A2F7-4088-ADEF-A9E2FF8FD927&ext=JPG

            [print addObject:photoname];

            //NsuserDefaults
            //        NSMutableArray *mutableArray = [[NSMutableArray alloc] initWithArray:print];
            //        [[NSUserDefaults standardUserDefaults] setObject:mutableArray forKey:@"test"];
            retArray = [[NSMutableArray alloc] initWithArray:((NSMutableArray *) [[NSUserDefaults standardUserDefaults] objectForKey:@"test"])];
            NSLog(@"res %@",retArray);
           }
        };
    ALAssetsFilter *onlyPhotosFilter = [ALAssetsFilter allPhotos];
    [self.assetsGroup setAssetsFilter:onlyPhotosFilter];
    [self.assetsGroup enumerateAssetsUsingBlock:assetsEnumerationBlock];

}

1 个答案:

答案 0 :(得分:0)

您需要使用资产库来获取URL的资产,然后从资产中获取图像。目前,您将资产URL视为资产,而不是使用URL来获取资产:

[self.assetsLibrary assetForURL:assetURL resultBlock:^(ALAsset * asset) {
    UIImage *image = [UIImage imageWithCGImage:[asset thumbnail]];

    // use the image for something 
}

NSURL *assetURL = notequal[indexPath.row];

[self.assetslibrary assetForURL:assetURL resultBlock:^(ALAsset * asset) {
    UIImage *image = [UIImageimageWithCGImage[asset thumbnail]];
    UIImageView *imageView = (UIImageView *)[cell viewWithTag:kImageViewTag];

    imageView.image = thumbnail;
}];

return cell;