5

Objective-C for iOS.

How do I rotate an image or view TO a particular angle. I have tried the two methods below, but both rotate the AMOUNT of angle, not TO the angle. Basically I would like to call a method to rotate to 90' and then say call again of 180', and the image/view to finish at 180', NOT an addition of them both (270') which is what happens if I use either of the methods below.

#define degreesToRadians(degrees) (M_PI * degrees / 180.0)

myImage.transform = CGAffineTransformMakeRotation(degreesToRadians(90));

myImage.transform = CGAffineTransformRotate(myImage.transform, degreesToRadians(90));

Many thanks!

James Beith
  • 5,751
  • 3
  • 27
  • 21

2 Answers2

6

Reset by

.transform = CGAffineTransformIdentity

before the other transforms...

ohho
  • 50,879
  • 75
  • 256
  • 383
1

ohho's answer can be useful if you haven't to do animation. I found useful this trick:

[UIView animateWithDuration:0.2 animations:^{
            self.compassImgView.transform = CGAffineTransformRotate(CGAffineTransformIdentity, radians);
        }];
ricky.tribbia
  • 124
  • 10