Ios 如何移除CAEmitterLayer?

Ios 如何移除CAEmitterLayer?,ios,objective-c,particle-system,caemitterlayer,Ios,Objective C,Particle System,Caemitterlayer,我正在使用CAEmitterLayer(如中)在iOS中玩粒子系统,但我无法在需要时移除粒子 我正在尝试以下代码,但不起作用: [self.emitterLayer setLifetime:0]; [self.emitterLayer removeFromSuperlayer]; [self.setEmitterLayer:nil]; 有什么建议吗?谢谢 请用这个 for (CALayer *layer in _plusButton.layer.sublayers) { if (lay

我正在使用CAEmitterLayer(如中)在iOS中玩粒子系统,但我无法在需要时移除粒子

我正在尝试以下代码,但不起作用:

[self.emitterLayer setLifetime:0];
[self.emitterLayer removeFromSuperlayer];
[self.setEmitterLayer:nil];
有什么建议吗?谢谢

请用这个

for (CALayer *layer in _plusButton.layer.sublayers) {
    if (layer.class == [CAEmitterLayer class]) {
        [layer removeFromSuperlayer];
    }

}
请找到对您有帮助的链接

在过去的几个月里,特别是在ios 5.0到6.0的版本中,我经常使用视图,我的经验是,使用“removeFrom”无法删除大多数视图,但可以将它们隐藏起来,然后随意显示。尤其是当逻辑发生在一个视图中或没有根视图时

您只需实现如下内容:隐藏它:
[YourView setHidden:YES]或显示它:
[YourView setHidden:NO]

希望这有帮助


R.

谢谢。对不起,我在mi类中引用了CAEmitterLayer实例:@property(非原子,强)CAEmitterLayer*emitterLayer;我尝试了你的代码,但粒子继续显示:(你看到我提供的链接了吗?)是的,但我不明白有效的答案…我试图从超级层中删除,但它不起作用:(