【问题标题】:Setting CAEmitterLayer properties with KVC使用 KVC 设置 CAEmitterLayer 属性
【发布时间】:2015-10-31 01:38:23
【问题描述】:

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

【问题讨论】:

    标签: ios particle-system kvc caemitterlayer


    【解决方案1】:

    所以也许我只是忽略了一些明显的东西

    确实如此。问题是这一行:

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

    字符串"emitterCells.particle.velocityRange" 不是键。

    这是一个关键路径。您需要致电setValue:forKeyPath:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-11
      • 1970-01-01
      • 1970-01-01
      • 2015-09-09
      • 1970-01-01
      相关资源
      最近更新 更多