2013-02-01 44 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