来自iOS上的filepicker的缩略图

Kyl*_*yle 12 ios filepicker.io

当使用iOS内置的UIImagePicker时,开发人员可以访问选择器中使用的缩略图.是否可以访问Filepicker使用的缩略图或以其他方式访问Filepicker使用的ALAsset库URL?

小智 1

我就是这样做的,但我必须警告你,它很慢,而且所需的框架是内存密集型的,因为它会迭代 ALAssetsLibrary 来寻找海报图像。这是在后台线程上进行的,因此 UI 更改会发送到主线程进行渲染。

    self.assetsLibrary = [[ALAssetsLibrary alloc] init];

    NSUInteger groupTypes = ALAssetsGroupAlbum | ALAssetsGroupSavedPhotos | ALAssetsGroupPhotoStream;
    [self.assetsLibrary enumerateGroupsWithTypes:groupTypes
                                  usingBlock:^(ALAssetsGroup *group, BOOL *stop) {
                                      if (group.posterImage != nil) {
                                          dispatch_async(dispatch_get_main_queue(), ^{
                                              self.pictureLayer.contents = (__bridge_transfer id) CGImageCreateCopy(group.posterImage);
                                              [self.layer setNeedsDisplay];
                                              self.assetsLibrary = nil;
                                              *stop = YES;
                                          });
                                      }
                                  }
                                failureBlock:^(NSError *error) {
                                    self.assetsLibrary = nil;
                                    NSLog(@"AssetLib error:%@",error);
                                }];
Run Code Online (Sandbox Code Playgroud)