我想从我的超级视图中删除7个CAShapeLayers。
我通过
在我的视图中添加了一系列CAShapeLayer[self.view.layer addSublayer:shapeLayer];
为了删除它们,我查看了如何继续使用图层,并遇到了添加到NSMutableArray的建议。我是通过
做到的[arrayofLayers addObject:shapeLayer];
当我想从视图中删除图层时,我可以看到CAShapeLayer有7个项目。我已经尝试了各种不同的方法来删除,所有方法都没有效果(或更糟糕的是,崩溃)。
以下是我的努力和结果:
for (CAShapeLayer *layer in arrayofLayers) {
self.view.layer.removeFromSuperlayer; //causes a crash
layer.removeFromSuperlayer; //no effect
[arrayofLayers removeObject:layer]; //just removes from the array
[layer removeFromSuperlayer]; //no effect
[layer makeObjectsPerformSelector:@selector(removeFromSuperlayer)]; //not applicable to CAShapelayer
}