iOS屏幕截图
- (UIImage *)cropScreenInView:(UIView *)view withRect:(CGRect)rect {
CGSize size = rect.size;
CGFloat scale = [UIScreen mainScreen].scale;
UIGraphicsBeginImageContextWithOptions(size, NO, scale);
CGContextRef context = UIGraphicsGetCurrentContext();
if (context == NULL) return nil;
[view drawViewHierarchyInRect:rect afterScreenUpdates:YES];
UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
CGImageRef imageRef = newImage.CGImage;
CGRect f = CGRectMake(rect.origin.x, rect.origin.y, size.width * scale, size.height * scale);
CGImageRef imageRefRect = CGImageCreateWithImageInRect(imageRef, f);
UIImage *imgResult = [[UIImage alloc] initWithCGImage:imageRefRect];
CGImageRelease(imageRefRect);
return imgResult;
}