我是 CABasicAnimation 主题的新手。如果要为 x设置动画 从当前x位置到特定x位置的 CAShapeLayer 的位置 使用以下内容:
NSLog(@"CABasicAnimation now...");
CABasicAnimation *layerPositionAnimation = [CABasicAnimation animationWithKeyPath:@"position"];
[layerPositionAnimation setDuration:0.330];
[layerPositionAnimation setRemovedOnCompletion: NO];
[layerPositionAnimation setFillMode: kCAFillModeForwards];
[layerPositionAnimation setTimingFunction: [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseOut]];
[layerPositionAnimation setFromValue:[NSValue valueWithCGPoint:CGPointMake(self.shapeLayer.position.x, self.shapeLayer.position.y)]];
[layerPositionAnimation setToValue:[NSValue valueWithCGPoint:CGPointMake(14.0, self.shapeLayer.position.y)]];
[self.shapeLayer addAnimation:layerPositionAnimation forKey:@"layerPositionAnimation"];
在我的情况下,self.shapeLayer是一个用作简单掩码的CAShapeLayer:
[[overlayTopShadow layer] setMask:self.shapeLayer];
但是如果动画永远不会发生(x位置没有改变)怎么办?我在代码中做错了什么? 有什么建议,想法,例子吗?
非常感谢