【问题标题】:Loading a photo taken from UIImagePickerController camera asynchronously异步加载从 UIImagePickerController 相机拍摄的照片
【发布时间】:2012-12-18 07:54:25
【问题描述】:

最初,我认为我可以使用UIImagePickerControllerReferenceURL 来获取ALAsset,然后使用它来生成aspectRatioThumbnail 并使用GCD 异步加载ALAsset。但是,从UIImagePickerController 拍摄照片似乎不会产生ALAsset,因为它不存储在照片库中,仅存储在内存中。

我仍然想以某种方式生成ALAsset,这样我就可以访问aspectRatioThumbnail 并以与UIImagePickterController 照片库相同的方式加载它。是否可以在不将照片保存到照片库的情况下执行此操作?

除了使用ALAsset之外,还有其他好的方法可以实现吗?

【问题讨论】:

    标签: iphone ios cocoa-touch uiimagepickercontroller alassetslibrary


    【解决方案1】:

    这里是如何做到这一点,制作缩略图并没有什么意义,因为这样做可能会花费太多的性能:

    - (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
    {
        [self dismissModalViewControllerAnimated:YES];
        self.photoImageView.image = nil;
        [self.activityIndicatorView startAnimating];
    
        dispatch_async(dispatch_get_global_queue(0, 0), ^
        {
            UIImage *image = [[info objectForKey:@"UIImagePickerControllerOriginalImage"] retain];
            dispatch_async(dispatch_get_main_queue(), ^
            {
                self.photoImageView.image = image;
                [self.activityIndicatorView stopAnimating];
                [image release];
            });
    
        });
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多