2013-02-01 22 views
6

È possibile ruotare UIImageView in Interface Builder da XCode? Come posso farlo in Photoshop, dove posso ridimensionare e ruotare un'immagine.Come ruotare un UIImageView in Interface Builder?

So che è possibile tramite il codice ma c'è un modo per farlo nel generatore di interfacce?

+0

No che non è possibile –

+0

falso ... Xcode permette di collegare qualsiasi "azione" ti piace usare parametri di esecuzione. Leggi la mia risposta qui sotto. – Gabriele

risposta

6

Non si può fare questo nella versione corrente di Xcode. Si può presentare una richiesta di funzionalità di Apple al http://radar.apple.com

Tuttavia, se si desidera farlo, è necessario scrivere del codice

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

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

che è un po 'fastidioso, grazie per il tuo snippet di codice ;-) – gpichler

3

No, non questo è possibile nel generatore di interfaccia, ma il codice è molto semplice:

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

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

imageView.transform = rotateTransform; 
5

Sì, è possibile, ma con un piccolo trucco.

Declare nel codice un nuovo UIView categoria come questo

@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 

Ora è possibile utilizzare un parametro di "rotazione" runtime direttamente sul costruttore di interfaccia come questo su qualsiasi UIView che ti piace.

enter image description here

builder Ovviamente interfaccia non ruoterà la vista nella sua interna rendering perché effettuerà solo il rendering runtime.

15

Sì, è possibile farlo nel generatore di interfacce senza alcun codice aggiuntivo con l'attributo di runtime layer.transform.rotation.z. Si noti che questo valore è in radianti.

rotation

+0

utile, se qualcuno ha bisogno di convertitore: https://aci-birimleri-cevirici.hesabet.com ma è turco – Beyaz

+0

o semplicemente google "deg rad": -) – d4Rk

Problemi correlati