1 - (IBAction)captureView:(UIButton *)sender {
2
3 // 延迟1 ~2 秒之后再截屏
4 dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2.0 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
5
6 // 1.创建一个bitmap的上下文
7 UIGraphicsBeginImageContext(self.view.frame.size);
8
9 // 2.将屏幕绘制到上下文中
10 [self.view.layer renderInContext:UIGraphicsGetCurrentContext()];
11 UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
12
13 /*
14 // 3.从上下文中取出绘制好的图片
15 UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
16
17 NSData *data = UIImagePNGRepresentation(newImage);
18
19 NSString *path = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject] stringByAppendingPathComponent:@"abc.png"];
20 NSLog(@"%@", path);
21 [data writeToFile:path atomically:YES];
22 */
23
24 // 4.保存图片到相册
25 UIImageWriteToSavedPhotosAlbum(newImage, self, @selector(image:didFinishSavingWithError:contextInfo:), nil);
26 });
27
28 }
29
30 - (void)image:(UIImage *)image didFinishSavingWithError:(NSError *)error contextInfo:(void *)contextInfo
31 {
32
33 if (error) {
34 [MBProgressHUD showError:@"保存失败, 请检测应用是否拥有访问相册的权限"];
35 }else
36 {
37 [MBProgressHUD showSuccess:@"保存成功"];
38 }
39 }