我尝试在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
中有一些子图层。
谁能帮我?谢谢!
答案 0 :(得分:0)
我回答我的问题,当我在iPhone上运行应用程序时,它有效。代码工作正常:
@IBAction func removeLayer(_ sender: UIButton) {
self.layer.removeFromSuperlayer()
}
但我不知道为什么。也许,AVSynchronizedLayer
在模拟器上不起作用,但适用于设备。