Search code examples
iphoneanimationuiimageviewrotation

Animate Rotating UIImageView


I want to rotate a UIImageView by roughly 10 degrees left/right but have a smooth animation, rather than a sudden turn which I see using:

player.transform = CGAffineTransformMakeRotation(angle)

Solution

  • I use some code like this to achieve a similar effect (though I rotate it by 360 degrees):

    CABasicAnimation *rotate;
    rotate = [CABasicAnimation animationWithKeyPath:@"transform.rotation"];
    rotate.fromValue = [NSNumber numberWithFloat:0];
    rotate.toValue = [NSNumber numberWithFloat:deg2rad(10)];
    rotate.duration = 0.25;
    rotate.repeatCount = 1;
    [self.view.layer addAnimation:rotate forKey:@"10"];
    

    I use code very similar to this to spin an image view.