簡體   English   中英

如何知道要刪除哪個子層?

[英]How to know which subLayer to remove?

我有以下代碼行,旨在防止子圖層顯示在另一個帖子內容上的問題。 在用戶退出帖子時調用該行被激發的方法。

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

但是現在,我認為由於這段代碼,在某些情況下,另一個視頻會突然覆蓋所有其他圖像。

我注意到這僅在子層數為 14 時發生。(這對於高於此的數字也可能是正確的)在發表帖子時打印子層數時我注意到代碼工作正常(對於像 10 或 11 這樣的 vals 和12) 直到子視圖的數量達到 14。

我怎樣才能解決這個問題?

這將是更好的方法

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

存儲referencelayer你想要創建的同時去除,並使用該reference刪除layersuperLayer ,即

var yourLayer: CALayer?

view.layer.sublayers?.forEach({ (layer) in
    if layer == yourLayer {
        yourLayer?.removeFromSuperlayer()
    }
})

如果您不想使用圖層名稱,請嘗試記錄以下內容:

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

您將看到以下內容:

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

然后,您可以確定資產的實際名稱和 URL。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM