以下方法都在同一.m文件中
- (IBAction)buttonAction:(UIButton *)sender
{
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
// 1.捕捉
UIImage *newImage = [self captureWithView:self.view];
// 2.寫文件
NSData *data = UIImagePNGRepresentation(newImage);
NSString *path = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject] stringByAppendingPathComponent:@"myTest.png"];
[data writeToFile:path atomically:YES];
// 3.寫入到本地相冊中
UIImageWriteToSavedPhotosAlbum(newImage, self, nil, nil);
});
}
/**
* 截圖
*
* @param view 當(dāng)前的view
*
* @return UIImage
*/
- (UIImage *)captureWithView:(UIView *)view
{
// 1.開啟上下文
UIGraphicsBeginImageContextWithOptions(view.frame.size, NO, 0.0);
// 2.將控制器view的layer渲染到上下文
[view.layer renderInContext:UIGraphicsGetCurrentContext()];
// 3.取出圖片
UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
// 4.結(jié)束上下文
UIGraphicsEndImageContext();
return newImage;
}