jean bernard
jean bernard

Reputation: 257

move a CALayer (add animation)

well I have a CALayer layer and I would like to move it, with a CADisplaylink. Like :

layer.center=CGPointMake(layer.center.x + 10, layer.center.y + 10);

but I can't use center or position for the layer.Here is my problem, I want to make it move like it was a uiimageview.

Upvotes: 9

Views: 10214

Answers (1)

beryllium
beryllium

Reputation: 29767

To move layer try to use this method

-(void)moveLayer:(CALayer*)layer to:(CGPoint)point{
    CABasicAnimation *animation = [CABasicAnimation animationWithKeyPath:@"position"];
    animation.fromValue = [layer valueForKey:@"position"];
    animation.toValue = [NSValue valueWithCGPoint:point];
    layer.position = point;
    [layer addAnimation:animation forKey:@"position"];
}

Upvotes: 14

Related Questions