Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 用于任意对象和属性的非CALayer动画框架_Objective C_Ios_Animation_Frameworks - Fatal编程技术网

Objective c 用于任意对象和属性的非CALayer动画框架

Objective c 用于任意对象和属性的非CALayer动画框架,objective-c,ios,animation,frameworks,Objective C,Ios,Animation,Frameworks,我搜索了又搜索,似乎找不到使用CoreAnimation为自定义类对象的属性设置动画的方法,也找不到第三方框架来完成任务。有人能解释一下这个问题吗 我的特殊用例是,我希望为属性设置动画,该属性在每次绘制时作为OpenGL制服传递。我发现了两个很好的选项: PRTween: 及 POP(通过Facebook): 普特温以简单取胜 [PRTween-tween:someObject属性:@“myProp”from:1到:0持续时间:3] POP为FB Paper应用程序开发了一些有趣的动画曲线。对于

我搜索了又搜索,似乎找不到使用CoreAnimation为自定义类对象的属性设置动画的方法,也找不到第三方框架来完成任务。有人能解释一下这个问题吗


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

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

PRTween:

POP(通过Facebook):

普特温以简单取胜

[PRTween-tween:someObject属性:@“myProp”from:1到:0持续时间: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;

什么的自定义子类?您到底要设置哪些属性的动画?“OpenGL统一”是什么意思?为什么不加莱尔?这就是如何设置UIView/CALayer属性的动画。很抱歉造成混淆。回答您的问题:NSObject的一个子类;我创建的任意属性;OpenGLES 2 GLSL着色器统一变量,在使用glUniform1f()绘制之前设置。可以在CALayer子类上设置自定义属性的动画吗?不管怎样,我通过委托控制一个通用的GLKView,所以我实际上没有办法在层上创建一个新属性,除非我做一些繁琐的重构。我正在设想一个API,其思路是[ANAnimationClass AnimationWithObject:someObject forKeyPath:“someproperty”startValue/timingFunction,等等]“可以在CALayer子类上设置自定义属性的动画吗”?当然这是CALayer建造方式的主要优点之一。(见我在这里的解释:)然而,这并不意味着可以为这个财产做这件事,我根本不了解它的性质。