1 #import "ViewController.h"2 #import<AssetsLibrary/AssetsLibrary.h>3 4 5 /**6 * ALAssetsLibrary.h representative Resource library (all videos, photos)7 ALAssetsGroup.h represents albums in the resource pool8 ALAsset.h represents a video or a photo in a photo album9 ALAssetRepresentation.h represents a description of a resource that can be obtained to the original pictureTen */ One A @interfaceViewcontroller () - -@property (Weak, nonatomic) Iboutlet Uicollectionview *CollectionView; the -@property (nonatomic,strong) Nsmutablearray *Array; - @end - + @implementationviewcontroller{ - +Alassetslibrary *Library; A at } - -- (void) Viewdidload { - [Super Viewdidload]; - - //creating variable arrays, storing resource files in_array =[Nsmutablearray array]; - to //Create a resource library for access to album Resources +Library =[[Alassetslibrary alloc] init]; - the //Traverse all the albums in the Repository, how many albums are there, how many times Usingblock will be called *[Library Enumerategroupswithtypes:alassetsgroupsavedphotos usingblock:^ (alassetsgroup *group, BOOL *stop) { $ Panax Notoginseng //If there is an album, then Traverse - if(group) { the + //Traverse all the resources in the album (Photos, Videos) A[Group enumerateassetsusingblock:^ (Alasset *result, Nsuinteger index, BOOL *stop) { the + /* - index of the resource $ if (index = = 2) { $ - //Stop traversal - *stop = YES; the } - */Wuyi the if(Result) { - //storing a resource in an array Wu [_array Addobject:result]; - } About $ }]; - } - - //refresh _collectionview reloaddata; A [_collectionview Reloaddata]; + the} failureblock:^ (Nserror *error) { - $NSLog (@"Access failed"); the }]; the the } the - #pragmaMark-uicollectionviewdelegate in the //Number of rows the-(Nsinteger) CollectionView: (Uicollectionview *) CollectionView numberofitemsinsection: (nsinteger) Section { About the the return_array.count; the + } - the //Create UicollectionviewcellBayi-(Uicollectionviewcell *) CollectionView: (Uicollectionview *) CollectionView Cellforitematindexpath: (NSIndexPath *) Indexpath { the the //if the cell is drawn in the storyboard and does not need to be registered, you need to specify an identifier in the cell -Uicollectionviewcell *cell = [CollectionView dequeuereusablecellwithreuseidentifier:@"Cell"Forindexpath:indexpath]; - the //Get Picture View theUiimageview *imgview = (Uiimageview *) [Cell.contentview Viewwithtag:1]; the the //Take out the corresponding resource data -Alasset *result =_array[indexpath.row]; the the //get to thumbnail image theCgimageref cimg =[result thumbnail];94 the //Convert to UIImage theUIImage *img =[UIImage imagewithcgimage:cimg]; the 98 //Show Pictures AboutImgview.image =img; - 101 /**102 * Get to original picture103 alassetrepresentation *presentation = [result defaultrepresentation];104 the cgimageref resolutionimg = [presentation fullresolutionimage];106 */107 108 returncell;109 the }111 the //Cell Size113-(Cgsize) CollectionView: (Uicollectionview *) CollectionView layout: (uicollectionviewlayout *) collectionviewlayout Sizeforitematindexpath: (Nsindexpath *) indexpath{ the the returnCgsizemake ( -, -); the 117}
Assetslibrary implement access to albums, select multiple photos display