当使用 iOS 的内置 UIImagePicker 时,开发人员可以访问选择器中使用的缩略图。是否可以访问 Filepicker 使用的缩略图或以其他方式访问 Filepicker 使用的 ALAsset 库 URL?
问问题
916 次
1 回答
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);
}];
于 2013-02-22T01:55:11.597 回答