2017-07-06 1 views
-1

Je veux créer une photo personnalisée comme Instagram Library. Par défaut, il affiche "Camera Roll" Photos et quand je clique dessus, il affichera sur mon appareil toute la liste des albums et sur n'importe quel album ou dossier, il rechargera toutes les photos avec l'album cliqué.Comment créer une photo personnalisée comme Instagram?

Comment puis-je faire cela?

Répondre

0

Vous pouvez utiliser le cadre photo pour récupérer toutes les images de votre galerie et afficher toutes les images selon vos besoins

PHFetchResult *smartAlbums = [PHAssetCollection 
fetchAssetCollectionsWithType:PHAssetCollectionTypeSmartAlbum 
subtype:PHAssetCollectionSubtypeAlbumRegular options:nil]; 

//set up fetch options, mediaType is image. 
PHFetchOptions *options = [[PHFetchOptions alloc] init]; 
options.sortDescriptors = @[[NSSortDescriptor sortDescriptorWithKey:@"creationDate" ascending:NO]]; 
options.predicate = [NSPredicate predicateWithFormat:@"mediaType = %d",PHAssetMediaTypeImage]; 

for (NSInteger i =0; i < smartAlbums.count; i++) { 
    PHAssetCollection *assetCollection = smartAlbums[i]; 
    PHFetchResult *assetsFetchResult = [PHAsset fetchAssetsInAssetCollection:assetCollection options:options]; 

    NSLog(@"sub album title is %@, count is %ld", assetCollection.localizedTitle, (unsigned long)assetsFetchResult.count); 
    if (assetsFetchResult.count > 0 && ![assetCollection.localizedTitle isEqualToString: @"Recently Deleted"]) { 

     for (PHAsset *asset in assetsFetchResult) { 

      //you have got your image type asset. 
      PHImageRequestOptions *option = [PHImageRequestOptions new]; 
      option.synchronous = YES; 

      [[PHImageManager defaultManager] requestImageForAsset:asset targetSize:CGSizeMake(self.view.frame.size.width, self.view.frame.size.height-100) contentMode:PHImageContentModeAspectFit options:option resultHandler:^(UIImage * _Nullable result, NSDictionary * _Nullable info) { 
      [self.imagesURLArray addObject:result]; 

      NSLog(@"asset are %@", asset); 
     } 
    } 

} 
+0

Permettez-moi ce .. – Kuldeep

+0

il affiche le titre de l'album qui ne sont pas dans mes photos existent et il va ajouter des données répétées. – Kuldeep

+0

Il affichera tous les albums par défaut fournis par iOS i.e total 14 albums. Vous pouvez récupérer des images à partir de la pellicule. Elle contiendra toutes vos images de galerie, puis sauvegardera toutes les images dans NSMutableArray, puis affichera toutes les images en fonction de vos besoins. if (assetsFetchResult.count> 0 && [assetCollection.localizedTitle isEqualToString: @ "Rouleau de caméra"] –

0

Voici une bonne bibliothèque pour faire la même chose.

YPImagePicker