检查CALayer是否已添加为子图层

abe*_*abe 9 objective-c calayer ios

我有5个CALayers,每个都是一个属性.说我添加了3个作为子视图.如果其中一个图层已经添加到图层中,我需要能够chk.

adi*_*dig 13

你试过这个superlayer房产吗?如果你的图层没有添加到任何地方,它应该是零.


Ole*_*ann 7

if (layer.superlayer == parentLayer) {
    ...
} else {
    ...
}
Run Code Online (Sandbox Code Playgroud)


Alb*_*pez 5

view.layer.sublayers为您提供了一个子图层数组,以查看您的图层是否已添加,您可以执行类似view.layer.sublayers.count的操作,一旦图层数达到您预期的不会为ex添加更多.

if (view.layer.sublayers.count  < 3) {
//add layer
}else{
// do nothing because the layer has already been added.
}
Run Code Online (Sandbox Code Playgroud)

您还可以检查子图层数组中的每个图层,以便更好地识别您要查找的图层.由于它们是属性,因此您应该能够与数组中的每个图层进行比较,以查看是否已添加了您要查找的图层.