2013-02-01 13 views
6

Czy można obracać UIImageView w konstruktorze interfejsów z XCode? Jak mogę to zrobić w Photoshopie, gdzie mogę skalować i obracać obraz.Jak mogę obrócić UIImageView w Interface Builder?

Wiem, że jest to możliwe za pomocą kodu, ale czy istnieje sposób to zrobić w konstruktorze interfejsów?

+0

Nope, że nie jest możliwe –

+0

fałszywe ... Xcode pozwala przypisać dowolny „działanie” Lubisz pomocą parametrów środowiska wykonawczego. Przeczytaj moją odpowiedź poniżej. – Gabriele

Odpowiedz

6

Nie można tego zrobić w obecnej wersji Xcode. Można złożyć wniosek funkcji Apple w http://radar.apple.com

Jednak jeśli chcesz to zrobić, trzeba będzie napisać kod

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

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

To trochę denerwujące, dzięki za fragment kodu ;-) – gpichler

3

Nope ów nie możliwe w konstruktora interfejsu, ale kod jest dość prosty:

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

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

imageView.transform = rotateTransform; 
5

Tak można, ale stosując małą sztuczkę.

deklarować w kodzie nowy UIView Kategoria jak ten

@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 

Teraz można użyć wykonania parametr „obrót” bezpośrednio na interfejsie konstruktora jak to na każdym UIView chcesz.

enter image description here

Oczywiście interfejs konstruktora nie będzie obrócić widok w jego wewnętrznym renderowanie ponieważ będzie to efekt tylko rendering wykonania.

15

Tak, można to zrobić w programie budującym interfejs bez dodatkowego kodu z atrybutem wykonawczym layer.transform.rotation.z. Zauważ, że ta wartość jest w radianach.

rotation

+0

przydatne, jeśli ktoś potrzebuje konwertera: https://aci-birimleri-cevirici.hesabet.com, ale jest turecki – Beyaz

+0

lub po prostu google "deg rad": -) – d4Rk

Powiązane problemy