Como tirar screenshots da área visível do UIScrollView?
Como faço para tirar uma captura de tela 1: 1 da área visível do UIScrollView? O conteúdo pode ser maior ou menor do que os limites do UIScrollView, bem como meio-escondido (eu implementei rolagem personalizada para conteúdo menor, por isso não está no canto superior esquerdo). Consegui o resultado desejado no simulador, mas não no próprio dispositivo:
-(UIImage *)imageFromCombinedContext:(UIView *)background {
UIImage *image;
CGRect vis = background.bounds;
CGSize size = vis.size;
UIGraphicsBeginImageContext(size);
[background.layer affineTransform];
[background.layer renderInontext:UIGraphicsGetCurrentContext()];
image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
CGImageRef imref = CGImageCreateWithImageInRect([image CGImage], vis);
image = [UIImage imageWithCGImage:imref];
CGImageRelease(imref);
return image;
}