如何使用CoreAnimation组合模型将UIView层次结构呈现为CGContext

我试图将UIView层次结构呈现为CGContext或最终呈现为UIImage。一些子视图具有3D变换,其中trans0ѭ忽略阴影和一些其他CALayer属性。 来自CALayer.h:
/*
 * WARNING: currently this method does not implement the full
 * CoreAnimation composition model, use with caution. */

- (void)renderInContext:(CGContextRef)ctx;
在拨打
UIGraphicsBeginImageContext
之后,我尝试了几种变体。
[self drawRect:[self bounds]];
[self.layer.delegate drawLayer:self.layer inContext:UIGraphicsGetCurrentContext()];
[self.layer renderInContext:UIGraphicsGetCurrentContext()];
[self.layer display];
最好是视图层次结构渲染而不进行3D变换。最糟糕的是,图像是空的。我想在图像中最终得到一个有效的alpha通道,因此屏幕截图不太有效。 有没有办法在保留所有变换和图层属性的同时渲染UIView层次结构? 如果解决方案涉及递归迭代视图层次结构,将每个视图分别渲染为图像,并在每个父视图的合成步骤中应用所有变换和属性,那么如何应用3D变换?     
已邀请:
对不起,但你无法做到这一点。 图层的当前动画状态是私有的,无法访问。 这可能是由于性能原因造成的。允许访问可动画属性的立即值并使结构中的值与Core Graphics兼容会降低图形性能。     

要回复问题请先登录注册