我正在学习一种不同的方法来创建自定义指标。下面是使用 CABasicAnimation 完成任务的教程中的部分代码。

-(void)spin
{
    CABasicAnimation *spinAnimation = [CABasicAnimation animationWithKeyPath:@"transform.rotation"];
    spinAnimation.toValue           = [NSNumber numberWithFloat:2*M_PI];
    spinAnimation.duration          = self.animationDuration;
    spinAnimation.delegate          = self;
    [self.layer addAnimation:spinAnimation forKey:@"spinAnimation"];
}

第 2 行的 toValue 是什么以及它的用途。当我尝试使用



我不明白这些插值值的想法。在互联网上搜索,但仍然无法获得它的全貌。
如果您对此有任何想法,请提供帮助。感谢所有评论。

最佳答案

CABasicAnimations 可能有点难以理解,但与动画相关的属性真的没有那么难,一旦你可以想象它们想要完成的事情。例如,如果我有一个代表图层的红色方块,我想将它旋转 360°(就像你在那里做的那样),那么我必须初始化一个动画对象,告诉它我想要动画的内容,以及在哪里我想要动画去。

您提供的动画会改变 CALayer 的内部矩阵,使其在给定的持续时间内从当前位置(因为您尚未指定 2 * M_PI )旋转到给定值(在本例中为 fromValue 或 360˚)。给定值告诉动画在给定的时间段内,您希望动画在提供的持续时间内通过 插入(或移动) 给定值(例如,您可以将动画分成 45°“块”通过指定 byValue@(M_PI/2) )。默认的 byValue 是动画持续时间内 toValuefromValue 的差值的除法,使得动画流畅且连续。

因此,您可以将动画视为 图层的初始旋转 图层的新旋转 时间段的

关于iphone - 难以理解 toValue, byValue of CABasicAnimation, ios,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14914445/

10-13 03:57