如何知道要删除哪个子图层?

时间:2019-06-11 05:05:43

标签: ios swift avplayerlayer

我有下面的代码行,目的是防止子图层显示在另一个帖子内容上的问题。在用户退出帖子时调用此行被激发的方法。

newBaseP3FolderLayer.layer.sublayers?.remove(at: 1)

但是,现在,由于这段代码,我认为在某些情况下,另一个视频会突然覆盖所有其他图像。

我注意到只有在subLayers的数量为14时才会发生这种情况(对于上面的数字也可能如此),而在离开职位时打印子层的数量时,我注意到代码可以正常工作(对于类似10的Val或11和12),直到子视图的数量达到14。

我该如何解决?

3 个答案:

答案 0 :(得分:5)

这将是更好的方法

for sublayer in sublayers {
    if sublayer.name == "yourLayerName" {
        sublayer.removeFromSuperlayer()
    }
}

答案 1 :(得分:1)

contourf存储到要在创建时删除的import numpy as np import matplotlib.pyplot as plt x = np.linspace(-1, 1, 101) y = x x, y = np.meshgrid(x, y) z = np.exp(-(x**2 + y**2) / 10) fig,ax2 = plt.subplots(1) ax2.contourf(x,y,z) plt.show() 上,并使用该reference从其layer中删除reference,即< / p>

layer

答案 2 :(得分:0)

如果您不想使用图层名称,请尝试记录以下内容:

NSLog(@"%@",self.playerLayer.player.currentItem.asset);

您将看到以下内容:

  

AVURLAsset:0x60000063bac0,URL = file:///Temp/Loops/088_JB_HD.mov

然后,您可以识别资产的实际名称和URL。