gpichler
gpichler

Reputation: 2381

How can I rotate an UIImageView in Interface Builder?

Is it possible to rotate an UIImageView in Interface Builder from XCode? Like I can do it in Photoshop, where I can scale and rotate an image.

I know it is possible by code but is there a way to do this in the interface builder?

Upvotes: 8

Views: 12469

Answers (4)

Cocoa Dev
Cocoa Dev

Reputation: 9551

You can't do this in the current version of Xcode. You may submit a feature request to Apple at https://feedbackassistant.apple.com/

However if you want to do it, you will need to write some code

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

theView.transform = CGAffineTransformRotate(theView.transform, radians)

Upvotes: 6

Leszek Szary
Leszek Szary

Reputation: 10346

Yes, you can do this in interface builder without any additional code with layer.transform.rotation.z runtime attribute. Note that this value is in radians.

rotation

Upvotes: 41

Gabriele
Gabriele

Reputation: 1183

Yes you can but using a little trick.

Declare in your code a new UIView Category like this

@interface UIView (IBRotateView)

@property (nonatomic, assign) CGFloat rotation;

@end


@implementation UIView (IBRotateView)
@dynamic rotation;

- (void)setRotation:(CGFloat)deg
{
    CGFloat rad = M_PI * deg / 180.0;

    CGAffineTransform rot = CGAffineTransformMakeRotation(rad);

    [self setTransform:rot];
}

@end

Now you can use a runtime parameter "rotation" directly on interface builder like this on any UIView you like.

enter image description here

Obviously interface builder will not rotate the view in its internal render because it will only effect the runtime rendering.

Upvotes: 7

Dhruv Goel
Dhruv Goel

Reputation: 2775

Nope thats not possible in the interface builder but the code is quite simple:

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

CGAffineTransform rotateTransform = CGAffineTransformRotate(CGAffineTransformIdentity,
     RADIANS(120.0));

imageView.transform = rotateTransform;

Upvotes: 3

Related Questions