IOS view截图并保存到系统相册

来源:互联网 发布:网络上的唱歌比赛 编辑:程序博客网 时间:2024/06/05 17:02

1.声明相册权限

  在info.plist文件中添加

    <key>NSPhotoLibraryUsageDescription</key>

    <string>用于选取照片</string>

  

2.把view转成UIImage

[objc] view plain copy
  1. -(UIImage*)imageFromView:(UIView*)view{  
  2.       
  3.       
  4.     CGSize s = view.bounds.size;  
  5.       
  6.     // 下面方法,第一个参数表示区域大小。第二个参数表示是否是非透明的。如果需要显示半透明效果,需要传NO,否则传YES。第三个参数就是屏幕密度了,关键就是第三个参数。  
  7.       
  8.     UIGraphicsBeginImageContextWithOptions(s, NO, [UIScreen mainScreen].scale);  
  9.       
  10.     [view.layer renderInContext:UIGraphicsGetCurrentContext()];  
  11.       
  12.     UIImage*image = UIGraphicsGetImageFromCurrentImageContext();  
  13.       
  14.     UIGraphicsEndImageContext();  
  15.       
  16.     return image;  
  17.       
  18.       
  19. }  

3.把UIImage保存到系统相册

[objc] view plain copy
  1. - (void)saveImageToPhotos:(UIImage*)savedImage  
  2. {  
  3.      
  4.     UIImageWriteToSavedPhotosAlbum(savedImage, self@selector(image:didFinishSavingWithError:contextInfo:), NULL);  
  5.       
  6. }  
  7.   
  8.   
  9.   
  10. - (void)image:(UIImage *)image didFinishSavingWithError:(NSError *)error contextInfo:(voidvoid *)contextInfo{  
  11.       
  12.     if (error == nil) {  
  13.           
  14.   
  15.         NSLog(@"存入手机相册成功");  
  16.           
  17.     }else{  
  18.       
  19.         NSLog(@"存入手机相册失败");  
  20.     }  
  21.       
  22. }  
源码链接
原创粉丝点击