如何在Interface Builder中旋转UIImageView?

时间:2013-02-01 20:02:28

标签: iphone xcode uiimageview rotation interface-builder

是否可以从XCode中在Interface Builder中旋转UIImageView?就像我可以在Photoshop中一样,我可以在那里缩放和旋转图像。

我知道代码是可行的,但有没有办法在界面构建器中执行此操作?

4 个答案:

答案 0 :(得分:27)

是的,您可以在界面构建器中执行此操作,而无需使用layer.transform.rotation.z运行时属性的任何其他代码。请注意,此值以弧度为单位。

rotation

答案 1 :(得分:6)

您无法在当前版本的Xcode中执行此操作。您可以通过http://radar.apple.com

向Apple提交功能请求

但是如果你想这样做,你需要编写一些代码

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

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

答案 2 :(得分:6)

是的你可以用一点技巧。

在你的代码中声明一个像这样的新UIView类别

@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

现在你可以使用运行时参数" rotation"在您喜欢的任何UIView上直接在这样的界面构建器上。

enter image description here

显然,界面构建器不会在其内部渲染中旋转视图,因为它只会影响运行时渲染。

答案 3 :(得分:3)

在接口构建器中不可能,但代码非常简单:

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

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

imageView.transform = rotateTransform;