任意对象和属性的非CALayer动画框架

时间:2012-01-10 17:46:18

标签: objective-c ios animation frameworks

我进行了搜索和搜索,似乎无法找到一种方法来使用CoreAnimation为自定义类或第三方框架的对象上的属性设置动画来完成任务。任何人都可以对这个问题有所了解吗?

我的特殊用例是我希望动画一个属性,该属性在每次绘制时作为OpenGL制服传递。

1 个答案:

答案 0 :(得分:0)

我发现了两个很好的选择:

PRTween: https://github.com/domhofmann/PRTween

POP(Facebook): https://github.com/facebook/pop

PRTween赢得简单......

[PRTween tween:someObject property:@"myProp" from:1 to:0 duration:3];

POP为FB Paper应用程序开发了一些有趣的动画曲线。这对于自定义道具来说有点复杂,但是为了进一步挖掘你会给你更大的灵活性:

POPSpringAnimation *anim = [POPSpringAnimation animation];    
prop = [POPAnimatableProperty propertyWithName:@"com.foo.radio.volume" initializer:^(POPMutableAnimatableProperty *prop) {
  // read value
  prop.readBlock = ^(id obj, CGFloat values[]) {
    values[0] = [obj volume];
  };
  // write value
  prop.writeBlock = ^(id obj, const CGFloat values[]) {
    [obj setVolume:values[0]];
  };
  // dynamics threshold
  prop.threshold = 0.01;
}];

anim.property = prop;