功能:有时候我们做返回上级或者说pop动画的时候,我们需要获取上一个的视图(ViewController)的截图,你可以试一下下面的方法
- (UIImage *)re_screenshot
{
UIGraphicsBeginImageContextWithOptions(self.bounds.size, NO, [UIScreen mainScreen].scale);
if ([self respondsToSelector:@selector(drawViewHierarchyInRect:afterScreenUpdates:)]) {
NSInvocation* invoc = [NSInvocation invocationWithMethodSignature:
[self methodSignatureForSelector:
@selector(drawViewHierarchyInRect:afterScreenUpdates:)]];
[invoc setTarget:self];
[invoc setSelector:@selector(drawViewHierarchyInRect:afterScreenUpdates:)];
CGRect arg2 = self.bounds;
BOOL arg3 = YES;
[invoc setArgument:&arg2 atIndex:2];
[invoc setArgument:&arg3 atIndex:3];
[invoc invoke];
} else {
[self.layer renderInContext:UIGraphicsGetCurrentContext()];
}
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return image;
}