5

CAEmitterLayer を含むビューのスクリーンショットを撮ることはできますか?

私が試みるたびに、ビューは正常に作成されますが、すべての粒子が欠落しています。これが私のコードです:

UIGraphicsBeginImageContext(drawingView.frame.size)
var context:CGContextRef = UIGraphicsGetCurrentContext()
drawingView.layer.renderInContext(context)
let image = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
return image

drawingView.layer上にCAEmitterLayerがあることを確認しました

4

1 に答える 1

1

これは iOS で機能しますが、OSX でも同様の方法が必要です。

func offscreenScreenshot(drawingView:UIView) -> Image
{
    UIGraphicsBeginImageContextWithOptions(drawingView.frame.size, true, 1.0)
    let res = drawingView.drawViewHierarchyInRect(drawingView.bounds, afterScreenUpdates: false)
    let image = UIGraphicsGetImageFromCurrentImageContext()
    UIGraphicsEndImageContext()
    return image
}
于 2015-01-17T19:44:14.467 に答える