Как сделать скриншот видимой области UIScrollView?

Как сделать снимок экрана 1:1 видимой области UIScrollView? Содержимое может быть больше или меньше границ UIScrollView, а также быть наполовину скрытым (я реализовал пользовательскую прокрутку для меньшего контента, поэтому он не находится в верхнем левом углу). Я добился желаемого результата на симуляторе, но не на самом устройстве:

-(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;
}
12
задан Concuror 11 June 2012 в 08:42
поделиться