简体   繁体   中英

Capturing CATiledLayer content to another layer or image context

I'm trying to screen capture a view that uses CATiledLayers (for animation) but unable to get the image that I want.

I tried it on Apple's "PhotoScroller" sample application and added this:

UIGraphicsBeginImageContext(self.view.frame.size);
CGContextRef ctx = UIGraphicsGetCurrentContext();
[self.view.layer renderInContext:ctx];
UIImage *screenshot = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

However, the tiles don't render in the resulting UIImage and all I get is the tile outlines.

Seems that CATiledLayer's renderInContext behaves differently from CALayer.

Am I doing anything wrong in trying to capture the tiles? Is my only solution to render the tiles individually myself?

最后,我没有尝试将图块渲染到仅用于动画的另一视图中,而是创建了ImageScrollView的新实例,并在取消分配原始实例之前将原始实例和新实例动画在一起。

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM