2016-12-26 40 views
0

刪除子我想在我的addLayer功能添加的CALayer:無法從AVSynchronizedLayer

@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

我回答我的問題,當我在iPhone上運行應用程序時,它工作。代碼工作正常: @IBAction func removeLayer(_ sender: UIButton) { self.layer.removeFromSuperlayer() }但我不知道爲什麼。也許,AVSynchronizedLayer在模擬器上不起作用,但適用於設備。