我搜索了又搜索,但似乎找不到使用 CoreAnimation 为自定义类对象的属性设置动画的方法,也找不到第 3 方框架来完成任务。任何人都可以阐明这个主题吗?
我的特定用例是我希望为一个属性设置动画,该属性在每次绘制时作为 OpenGL 制服传递。
最佳答案
我发现了两个不错的选择:
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 应用程序开发了一些有趣的动画曲线。对于自定义 Prop 来说有点复杂,但无需进一步挖掘即可为您提供更大的灵 active :
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;
关于objective-c - 任意对象和属性的非 CALayer 动画框架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8807894/