Wie mache ich einen Screenshot des sichtbaren Bereichs von UIScrollView?

Wie mache ich einen 1: 1-Screenshot des sichtbaren Bereichs von UIScrollView? Der Inhalt ist möglicherweise größer oder kleiner als die Grenzen von UIScrollView und halb ausgeblendet (ich habe benutzerdefiniertes Scrollen für kleinere Inhalte implementiert, daher befindet es sich nicht in der oberen linken Ecke). Ich habe das gewünschte Ergebnis auf dem Simulator erzielt, aber nicht auf dem Gerät selbst:

-(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;
}

Antworten auf die Frage(8)

Ihre Antwort auf die Frage