使用KVC设置CAEmitterLayer属性

时间:2015-10-31 01:38:23

标签: ios particle-system kvc caemitterlayer

我正在尝试动态更改CAEmitterLayer实例上的属性。我正在调用setValue:forKey:像这样:[self.mainViewController.mainView.spaceView.emitterLayer setValue:[NSNumber numberWithFloat:0] forKey:@"emitterCells.particle.velocityRange"];但是我没有看到粒子发射器有任何变化。如果我通过硬编码将该属性设置为0,则不会发射粒子。 Here是指向包含实现粒子系统的UIView的gist文件的链接。我知道KVC可能会因为错过输入内容而变得棘手,所以也许我只是过度看待明显的东西?

1 个答案:

答案 0 :(得分:0)

  

所以也许我只是过分看待明显的东西

事实上。问题是这一行:

setValue:[NSNumber numberWithFloat:0] forKey:@"emitterCells.particle.velocityRange"

字符串"emitterCells.particle.velocityRange"不是密钥。

这是密钥路径。您需要致电setValue:forKeyPath: