2015-10-15 1 views
4

Je suis nouveau sur Photo framework je ne sais pas comment l'utiliser. J'ai utilisé beaucoup de liens mais j'ai confondu comment afficher l'image en imageview.Comment puis-je accéder à la photo de la galerie à l'aide du cadre photo dans l'objectif c

Je veux obtenir le tout photo de la galerie en utilisant cadre photo je suis en train

NSMutableOrderedSet *recentsDataSource; 
PHFetchResult *assetCollection = [PHAssetCollection fetchAssetCollectionsWithType:PHAssetCollectionTypeSmartAlbum | PHAssetCollectionTypeAlbum subtype:PHAssetCollectionSubtypeAny options:nil]; 
    for (PHAssetCollection *sub in assetCollection) 
    { 
     PHFetchResult *assetsInCollection = [PHAsset fetchAssetsInAssetCollection:sub options:nil]; 

     for (PHAsset *asset in assetsInCollection) 
     { 
      [self.recentsDataSource addObject:asset]; 
     } 
    } 

    if (self.recentsDataSource.count > 0) 
    { 
     NSArray *array = [self.recentsDataSource sortedArrayUsingDescriptors:@[[NSSortDescriptor sortDescriptorWithKey:@"creationDate" ascending:NO]]]; 
     NSLog(@"Photo Array : %@",array); 
     self.recentsDataSource = [[NSMutableOrderedSet alloc]initWithArray:array]; 
    } 

i ont obtenir ce type de tableau.

Tableau Photo: ( "5A2ABD38-D724-42B1-939A-F557D5CCE9FC/L0/001 mediaType = 1/0, sourceType = 1, (328x328), creationDate = 14/10/2015 06:06 : 22 +0000, location = 0, masqué = 0, favori = 0 ", " 5391482F-9887-4518-9976-D5D544CDF8CA/L0/001 mediaType = 1/0, sourceType = 1, (450x800), créationDate = 2015-10-12 09:27:41 +0000, emplacement = 0, caché = 0, favori = 1 ", " 3B921984-6E79-4E4D-B70D-C7FFB0AC1C63/L0/001 mediaType = 1/0, sourceType = 1, (3000x2002), creationDate = 2012-08-08 09:25:30 +0000, emplacement = 1, caché = 0, favori = 0 ", "D64D501E-F85D-4EE8-9C79-414272621A80/L0/001 mediaType = 1/0, sourceType = 1, (1668x2500), créationDate = 2012-08-08 08:59:49 +0000, emplacement = 1, hidden = 0, favorite = 0 ", " 46A57980-9C55-42A8-9792-6BD98B25F01D/L0/001 mediaType = 1/0, sourceType = 1, (3000x2002), créationDate = 2012-08-08 06:22: 11 +0000, location = 1, caché = 0, favori = 0 ", " 1E040EE9-99A9-4325-AB1F-CBF4E45111DA/L0/001 mediaType = 1/0, sourceType = 1, (4288x2848), créationDate = 2011-03-12 10:47:25 +0000, location = 1, hidden = 0, favorite = 1 ", " BF3A71CD-3065-43C0-A933-DD89BBE8C778/L0/001 mediaType = 1/0, sourceType = 1, (4288x2848), creationDate = 2009-10-09 08:39:20 +0000, location = 0, caché = 0, favorite = 0 ")

Comment afficher les images sur une visualisation.

Répondre

16

Ajouter ce dans .h/fichier .m

#import <Photos/Photos.h> 

Variable globale:

@property(nonatomic , strong) PHFetchResult *assetsFetchResults; 
@property(nonatomic , strong) PHCachingImageManager *imageManager; 

Code viewDidLoad:

// Fetch all assets, sorted by date created. 
    PHFetchOptions *options = [[PHFetchOptions alloc] init]; 
    options.sortDescriptors = @[[NSSortDescriptor sortDescriptorWithKey:@"creationDate" ascending:NO]]; 
    _assetsFetchResults = [PHAsset fetchAssetsWithOptions:options]; 

    _imageManager = [[PHCachingImageManager alloc] init]; 

méthode numberOfItemsInSection:

- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section 
{ 
    return [_assetsFetchResults count]; 
} 

UICollectionView cellForItemAtIndexPath: Code:

UICollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"cellID" forIndexPath:indexPath]; 

UIImageView *imageView = (UIImageView *)[cell viewWithTag:101]; 
PHAsset *asset = _assetsFetchResults[indexPath.item]; 

     [_imageManager requestImageForAsset:asset targetSize:imageView.frame.size contentMode:PHImageContentModeAspectFill options:nil resultHandler:^(UIImage *result, NSDictionary *info) 
     { 
      imageView.image = result; 
     }]; 

[edited]

accès à l'image:

- (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath 
{ 
    PHAsset *asset = _assetsFetchResults[indexPath.item]; 

    [_imageManager requestImageForAsset:asset targetSize:CGSizeMake(200, 200) contentMode:PHImageContentModeAspectFill options:nil resultHandler:^(UIImage *result, NSDictionary *info) 
     { 
      // result is the actual image object. 
     }]; 
} 
+0

Merci U, U me sauver. – sohil

+0

Comment puis-je obtenir l'image date sage – sohil

+0

J'ai édité là répondre :) – Sneha