zoukankan      html  css  js  c++  java
  • iOS PDF文件连接转化为img图片保存到相册

    {
    
    //self.passURL 是后台返回的可以加载显示到webView中的PDF链接 if ([self.passURL isEqualToString:@""] || self.passURL == nil || [self.passURL isEqual:nil] || !self.passURL) { [self InvalidAlertView]; return; } NSURL *url = [[NSURL alloc] initWithString:self.passURL]; CFURLRef ref = (__bridge CFURLRef)url; pdf = CGPDFDocumentCreateWithURL(ref); CFRelease(ref); CGImageRef imageRef = PDFPageToCGImage(1,pdf); UIImage *amg = [UIImage imageWithCGImage:imageRef]; CGImageRelease(imageRef); //保存图片到相册 UIImageWriteToSavedPhotosAlbum(amg, self, @selector(image:didFinishSavingWithError:contextInfo:), nil); }

    - (void)image:(UIImage *)image didFinishSavingWithError:(NSError *)error contextInfo:(void *)contextInfo{
        
        if (error == nil) {
            
            UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"提示" message:@"图片已保存到相册" delegate:self cancelButtonTitle:nil otherButtonTitles:@"好的", nil];
            [alert show];
        }else{
            
            UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"提示" message:@"保存失败" delegate:self cancelButtonTitle:nil otherButtonTitles:@"确定", nil];
            [alert show];
        }
        
    }
    

    问题:在dealloc中 写CGPDFDocumentRelease(pdf)这个方法,如果保存完照片后,快速点击返回按钮会崩溃,如果等2秒后点击返回不会崩,所以在项目中先屏蔽掉了。

    如果有哪位解决了不崩溃,请留个言,谢过了

    - (void)dealloc {

       // CGPDFDocumentRelease(pdf);

        if ([self.mainWebView isLoading]){

            [self.mainWebView stopLoading];

        }

    }

  • 相关阅读:
    分布式事务之最终一致性BASE理论
    CAP理论
    Comparator中返回0导致数据丢失的大坑
    电脑主板分类
    SimpleDateFormat线程不安全
    Redis面试题
    JS闭包
    ES6将两个数组合并成一个对象数组
    视频色彩空间RGB、YUV、YCbCr
    c#接口作用的深入理解
  • 原文地址:https://www.cnblogs.com/ios988/p/7852344.html
Copyright © 2011-2022 走看看