从超级图层

时间:2016-11-13 19:34:13

标签: ios objective-c

我想从我的超级视图中删除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
}

0 个答案:

没有答案