如何从表示层创建新的CALayer?

时间:2019-06-13 04:10:57

标签: ios swift calayer

我正在捕获动画视图的框架,并且我想用它来创建一个新的CALayer来添加到视图中。这是我目前拥有的代码,但是什么也没出现;

let screenshot = animatedView.layer.presentation() let newLayer = CALayer.init(layer: screenshot) self.view.layer.addSublayer(newLayer)

感谢您的帮助:)

1 个答案:

答案 0 :(得分:0)

presentation()仅返回layer在屏幕上显示的副本。

像这样尝试:

if let screenshot = animatedView.layer.presentation() {
    let modelLayer = CALayer(layer: screenshot)
    self.view.layer.addSublayer(modelLayer)
}

您还可以确保在致电layer之前先布置presentation()

animatedView.layer.setNeedsLayout()

编辑:我的错误-我猜不能将副本添加为子图层。上面编辑的代码包括从演示文稿副本中正确调用CALayer的实例。

相关问题