CABasicAnimation:如果CAShapeLayer位置没有改变怎么办?

时间:2013-05-13 10:34:41

标签: ios cabasicanimation cashapelayer

我是 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位置没有改变)怎么办?我在代码中做错了什么? 有什么建议,想法,例子吗?

非常感谢

0 个答案:

没有答案