首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ALAssetsLibrary方法已弃用

ALAssetsLibrary方法已弃用
EN

Stack Overflow用户
提问于 2017-03-02 20:43:39
回答 1查看 6.1K关注 0票数 3

这已被弃用,更新后的代码可能是什么?

代码语言:javascript
复制
 ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init];
    [library assetForURL:referenceURL resultBlock:^(ALAsset *asset) {
        ALAssetRepresentation *rep = [asset defaultRepresentation];
EN

回答 1

Stack Overflow用户

发布于 2017-03-02 21:55:30

使用下面的代码从图库中获取所有图片:首先,你需要导入照片框架。

代码语言:javascript
复制
#import <Photos/Photos.h>

获取镜像前获取授权:

代码语言:javascript
复制
[PHPhotoLibrary requestAuthorization:^(PHAuthorizationStatus status)
 {
     switch (status) {
         case PHAuthorizationStatusAuthorized:
             [self performSelectorOnMainThread:@selector(getAllPictures) withObject:nil waitUntilDone:NO];
             // [self getAllPictures];
             NSLog(@"PHAuthorizationStatusAuthorized");
             break;
         case PHAuthorizationStatusRestricted:
             NSLog(@"PHAuthorizationStatusRestricted");
             break;
         case PHAuthorizationStatusDenied:
             NSLog(@"PHAuthorizationStatusDenied");
             break;
         default:
             break;
     }
 }];

-(void)getAllPicture
{
            NSLog(@"Started...");
            PHImageRequestOptions *requestOptions = [[PHImageRequestOptions alloc] init];
            requestOptions.synchronous = YES;
            PHFetchOptions *allPhotosOptions = [PHFetchOptions new];
            allPhotosOptions.sortDescriptors = @[[NSSortDescriptor sortDescriptorWithKey:@"creationDate" ascending:YES]];

            PHFetchResult *result = [PHAsset fetchAssetsWithMediaType:PHAssetMediaTypeImage options:allPhotosOptions];
            for (PHAsset *asset in result) {

                NSMutableDictionary *dic = [[NSMutableDictionary alloc] init];
                [dic setValue:asset forKey:@"assest"];
                [YOUR_ARRAY insertObject:dic atIndex:0];
                dic = nil;
            }
            NSLog(@"Completed...");
}

你可以从下面的代码中检索图片:

代码语言:javascript
复制
PHImageRequestOptions *requestOptions = [[PHImageRequestOptions alloc] init];
requestOptions.synchronous = YES;

PHImageManager *manager = [PHImageManager defaultManager];
[manager requestImageForAsset:YOUR_ARRAY[INDEX_ARRAY][@"assest"]
                   targetSize:CGSizeMake(self.view.frame.size.width/3, 200)
                  contentMode:PHImageContentModeDefault
                      options:requestOptions
                resultHandler:^void(UIImage *image, NSDictionary *info) {
                    YOUR_IMAGE_VIEW.image = image;
                }];
票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42555882

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档