【问题标题】:How to get photo Library Image count [duplicate]如何获取照片库图像计数[重复]
【发布时间】:2017-01-10 07:55:37
【问题描述】:

从 Photolibrary 中提取图像,我们使用 UIImagePickerViewController 和 UIImagePickerControllerSourceTypePhotoLibrary 进入 Photolibrary 并获取图像,现在我的问题是如何获取保存在我的 photoLibrary 中的图像计数。

它是否允许我获取图像计数以显示在我的应用程序中。

【问题讨论】:

    标签: ios objective-c uiimagepickercontroller photolibrary


    【解决方案1】:

    是的,您可以使用以下方法获取所有图像:- 导入照片框架

    #import <Photos/Photos.h>
    
    
    -(void)getAllPhotosFromCamera
    {
    imageArray=[[NSArray alloc] init];
    mutableArray =[[NSMutableArray alloc]init];
    
    PHImageRequestOptions *requestOptions = [[PHImageRequestOptions alloc] init];
    requestOptions.resizeMode   = PHImageRequestOptionsResizeModeFast;
    requestOptions.deliveryMode = PHImageRequestOptionsDeliveryModeHighQualityFormat;
    requestOptions.synchronous = true;
    PHFetchResult *result = [PHAsset fetchAssetsWithMediaType:PHAssetMediaTypeImage options:nil];
    
    NSLog(@"%d",(int)result.count);
    
    PHImageManager *manager = [PHImageManager defaultManager];
    NSMutableArray *images = [NSMutableArray arrayWithCapacity:[result count]];
    
    // assets contains PHAsset objects.
    
    __block UIImage *ima;
    for (PHAsset *asset in result)
    {
        // Do something with the asset
    
        [manager requestImageForAsset:asset
                           targetSize:PHImageManagerMaximumSize
                          contentMode:PHImageContentModeDefault
                              options:requestOptions
                        resultHandler:^void(UIImage *image, NSDictionary *info)
                        {
                            ima = image;
    
                            [images addObject:ima];
                        }];
    }
    
    imageArray = [images copy];
    [_cView reloadData];
    }
    

    【讨论】:

      【解决方案2】:

      如果你想得到计数,那么使用照片框架你可以像这样得到计数

      PHFetchResult *allPhotosResult = [PHAsset fetchAssetsWithMediaType:PHAssetMediaTypeImage options:nil];
      NSLog(@"count of All Photos from Moments in iOS8, or Camera Roll - %lu",(unsigned long)allPhotosResult.count);
      

      别忘了导入照片框架

      #import <Photos/Photos.h>
      

      【讨论】:

        【解决方案3】:

        在这里您可以获得所有图像计数。它还包括所有相册和相机胶卷图像。

        __block NSInteger intTotalCount=0;
        // Get all Album list...
        PHFetchResult *userAlbums = [PHAssetCollection fetchAssetCollectionsWithType:PHAssetCollectionTypeAlbum subtype:PHAssetCollectionSubtypeAny options:nil];
        [userAlbums enumerateObjectsUsingBlock:^(PHAssetCollection *collection, NSUInteger idx1, BOOL *stop) {
            PHFetchResult *assetsFetchResult = [PHAsset fetchAssetsInAssetCollection:collection options:nil];
            intTotalCount+=assetsFetchResult.count;
        }];
        
        // Get image count from Camera Roll
        PHFetchOptions *allPhotosOptions = [PHFetchOptions new];
        allPhotosOptions.predicate = [NSPredicate predicateWithFormat:@"mediaType == %d ",PHAssetMediaTypeImage];
        PHFetchResult *allPhotosResult = [PHAsset fetchAssetsWithOptions:allPhotosOptions];
        intTotalCount+=allPhotosResult.count;
        
        NSLog(@"%d",intTotalCount);
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-12-08
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-06-26
          • 1970-01-01
          相关资源
          最近更新 更多