iOS 屏幕截图并保存到相册

首先写一个UIImage的分类

#import "UIImage+Extension.h"

@implementation UIImage (Extension)


+ (UIImage *)rendImageWithView:(UIView *)view{
    
//      1.开始位图上下文
    UIGraphicsBeginImageContext(view.frame.size);
//      2.获取上下文
    CGContextRef ctx = UIGraphicsGetCurrentContext();
    
//    3.截图
    [view.layer renderInContext:ctx];
//    4.获取图片
    UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
    
//    5.关闭上下文
    UIGraphicsEndImageContext() ;
    
    return newImage;
    
}
@end

在需要截图的view里调用此方法

//    1.获取一个截图图片
    UIImage *newImage = [ UIImage rendImageWithView:self.view];
//    2.写入相册
    UIImageWriteToSavedPhotosAlbum(newImage, self, @selector(image:didFinishSavingWithError:contextInfo:), @"134");

#pragma mark 用来监听图片保存到相册的状况

- (void)image:(UIImage *)image didFinishSavingWithError:(NSError *)error contextInfo:(void *)contextInfo{
    if (error) {
        [MBProgressHUD showError:@"保存失败"];
    }else{
        [MBProgressHUD showSuccess:@"保存成功"];
    
    }
    
    NSLog(@"%@",contextInfo);
    
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 177,910评论 25 709
  • 1、禁止手机睡眠[UIApplication sharedApplication].idleTimerDisabl...
    DingGa阅读 1,196评论 1 6
  • *面试心声:其实这些题本人都没怎么背,但是在上海 两周半 面了大约10家 收到差不多3个offer,总结起来就是把...
    Dove_iOS阅读 27,535评论 30 472
  • 过程 第一次 第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SENT状态,等待服...
    长情你好阅读 171评论 0 0
  • 首先我发誓自己真的不是故意要看的,只是无意间点开了这部网红剧。 那么我们就切入正题,今天给大家介绍(吐槽)的电影叫...
    绳子精阅读 2,238评论 6 22

友情链接更多精彩内容