IOS手机截屏 主要步骤

1.创建一个图形上下文      
2.将屏幕绘制到其中   

3.保存图片到相册       
4.关闭图形上下文
     

IOS手机截屏 具体实现

- (IBAction)truncation:(UIButton *)sender {

    // 延迟秒之后再截屏
    
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2.0 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{  

#pragma mark 创建截图      

        // 1.创建一个图形上下文,相当于一块画布
        
UIGraphicsBeginImageContext(self.view.frame.size); 
       

        // 2.将屏幕绘制到其中   
        [
self.view.layerrenderInContext:UIGraphicsGetCurrentContext()];      
        
UIImage *newImage =UIGraphicsGetImageFromCurrentImageContext();   
       

        // 3.保存图片到相册       
        
UIImageWriteToSavedPhotosAlbum(newImage, self,@selector(p_w_picpath:didFinishSavingWithError:contextInfo:),nil);           

        // 4.关闭图形上下文
        
UIGraphicsEndImageContext();
    });
}

#pragma mark 判断截图是否创建成功 ---- 可用第三方库实现 

- (void)p_w_picpath:(UIImage *)p_w_picpath didFinishSavingWithError:(NSError *)error contextInfo:(void *)contextInfo{
    
if (error) {
             
//   NSLog(@"保存失败");
        [
MBProgressHUD showError:@"保存失败请检测应用是否拥有访问相册的权限"];     
    }
else{

              //NSLog(@"保存成功");
        [
MBProgressHUD showSuccess:@"保存成功"];
           }

}