在一个动画中,我在view中添加了很多sublayers,其中包括:
[self.view.layer addSublayer:layer1];
[self.view.layer addSublayer:layer2];
....
我想用一个动作移除所有子层.
rootLayer.sublayers = nil;
但它不起作用...
你能帮我吗?
在一个动画中,我在view中添加了很多sublayers,其中包括:
[self.view.layer addSublayer:layer1];
[self.view.layer addSublayer:layer2];
....
我想用一个动作移除所有子层.
rootLayer.sublayers = nil;
但它不起作用...
你能帮我吗?
CALayer
对象的sublayers
属性返回数组的副本.将其设置为no nil对子层没有任何影响.不过,这样做可以:
for (CALayer *layer in self.view.layer.sublayers) {
[layer removeFromSuperlayer];
}
或者,用Swift
self.view.layer.sublayers?.forEach { $0.removeFromSuperlayer() }