【问题标题】:Thumbnail from filepicker on iOSiOS 上文件选择器的缩略图
【发布时间】:2012-11-26 16:08:08
【问题描述】:

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

【问题讨论】:

  • 作为旁注,在线文档指出,从选择器返回的信息字典中将有一个包含 ALAsset 库 URL 的键,但实际上该键不存在。
  • 啊,我看到有两个回调,第一个提供缩略图;如果 ALAsset 最初是来源,有没有办法访问它?
  • 嗨凯尔。文档已更新以反映在 didPickMediaWithInfo 调用中仅返回缩略图的事实。 ALAsset 将在 didFinishPickingMediaWithInfo 调用中返回。
  • Liyan 我从来没有从 FPPicker didFinishPickingMediaWithInfo 回调中得到一个 ALAsset 库 URL,只有 file://location/of/my/image/in/a/tmp/dir/inside/application/bundle
  • 嗨凯尔。是的。看起来我们正在返回一个 file://... 位置。我能问一下为什么 ALAAsset 库 URL 会有帮助吗?

标签: ios filepicker.io


【解决方案1】:

这就是我的做法,但我必须警告你它很慢(ish),并且需要的框架是内存密集型的,因为它会遍历 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);
                                }];

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-03-20
    • 2014-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-06
    相关资源
    最近更新 更多