2013-02-01 42 views
6

是否可以在XCode中的Interface Builder中旋转UIImageView?就像我可以在Photoshop中做的那样,我可以在其中缩放和旋转图像。如何在界面生成器中旋转UIImageView?

我知道这是可能的代码,但有没有办法做到这一点在界面生成器?

+0

都能跟得上是不可能 –

+0

假... Xcode中,您可以绑定任何“动作”你喜欢使用运行参数。阅读下面的答案。 – Gabriele

回答

6

在Xcode的当前版本中,您不能做到这一点。你可以在http://radar.apple.com

提交功能请求苹果然而,如果你想这样做,你需要编写一些代码

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

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

这有点恼人,谢谢你的代码片段;-) – gpichler

3

都能跟得上,那不是有可能在界面生成器,但该代码非常简单:

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

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

imageView.transform = rotateTransform; 
5

当然可以,但使用的小动作。

申报代码中的一个新的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 

现在你可以使用一个运行参数“旋转”直接在界面生成器这样对你喜欢的任何UIView的。

enter image description here

显然Interface Builder中不会旋转在其内部视图渲染,因为它只会影响运行时呈现。

15

是的,您可以在界面构建器中执行此操作,而无需使用任何附加代码和layer.transform.rotation.z运行时属性。请注意,该值以弧度表示。

rotation

+0

有用,如果有人需要转换器:https://aci-birimleri-cevirici.hesabet.com但它是土耳其 – Beyaz

+0

或只是谷歌“deg rad”: - ) – d4Rk