Tire um instantâneo de um UIView como um UIImage

Problema

Você deseja tirar um instantâneo de um UIView como um UIImage.

Solução

Às vezes, é útil criar um UIImageView representando um instantâneo visual de outro objeto UIView. Este novo UIImageView pode ser útil para animação.

UIView *subView = self.viewWithManySubViews;
UIGraphicsBeginImageContextWithOptions(subView.bounds.size, YES, 0.0f);
CGContextRef context = UIGraphicsGetCurrentContext();
[subView.layer renderInContext:context];
UIImage *snapshotImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

UIImageView *snapshotImageView = [[UIImageView alloc] initWithImage:snapshotImage];