无法从AVSynchronizedLayer

时间:2016-12-26 03:29:28

标签: ios swift calayer

我尝试在addLayer函数中添加CALayer:

@IBAction func addLayer(_ sender: UIButton){
    self.layer = (self.cxeObject?.layer)!
    self.synchLayer = AVSynchronizedLayer(playerItem: self.playerItem!)
    self.synchLayer!.bounds = self.playerView.layer.bounds
    self.synchLayer!.position = self.playerView.layer.position
    self.synchLayer!.addSublayer(self.layer!)
    self.playerView.layer.addSublayer(self.synchLayer!)
}

然后我尝试删除removeLayer函数中的图层:

@IBAction func removeLayer(_ sender: UIButton) {
    self.layer.removeFromSuperlayer()
}

但它没有用!当我尝试这样做时,它起作用了:

self.synchLayer.removeFromSuperlayer()

但是我无法做到这一点,因为我在self.synchLayer中有一些子图层。 谁能帮我?谢谢!

1 个答案:

答案 0 :(得分:0)

我回答我的问题,当我在iPhone上运行应用程序时,它有效。代码工作正常: @IBAction func removeLayer(_ sender: UIButton) { self.layer.removeFromSuperlayer() }但我不知道为什么。也许,AVSynchronizedLayer在模拟器上不起作用,但适用于设备。