我正在设置一个已填充但未描边的CAShapeLayer的路径值,我想让它更加流畅

时间:2013-07-21 07:23:26

标签: path uibezierpath caanimation cgpath cashapelayer

好的,我再说一遍:

我正在设置已填充但未描边的CAShapeLayer的路径值,我想让它更加流畅。 这是基本的动画代码:

CABasicAnimation * pathAnimation = [CABasicAnimation animationWithKeyPath:@"path"];
        pathAnimation.toValue = (id)targetPath.CGPath;
        pathAnimation.fromValue = (id)shapePath.CGPath;
        //pathAnimation.fromValue = (id)((CAShapeLayer*)[currentShapeLayers objectForKey:key]).path;
        pathAnimation.repeatCount = 0;
        pathAnimation.duration = animationTime;
        pathAnimation.autoreverses = NO;
        [[currentShapeLayers objectForKey:key] addAnimation:pathAnimation forKey:@"animatePath"];
嗯,它运作正常。但这些路径形状奇特且动态形成。我尝试确保路径之间的点数始终相同,这样做有所帮助。但是我仍然可以获得动画的部分路径,我不想制作动画。我真正想要做的是保持路径的一部分是静态的,而路径的其余部分从一侧生长或缩回到它中,或者在某些情况下,从主路径分离到一个单独的子路径。

我考虑先找到中间路径阶段和动画,然后从那里完成动画,但我觉得可能还有其他解决方案。

1 个答案:

答案 0 :(得分:0)

我找到了a solution to this。我不确定它是否是最有效的解决方案,因为它涉及大量重绘,但它确实可以控制动画的行为。