2010-07-16 18 views

Répondre

9

Si vous avez un objet IBOutlet.

theButton.transform = CGAffineTransformMakeRotation(M_PI/-4); 

Si vous souhaitez créer un bouton d'exécution à l'affichage.

- (void)viewDidLoad { 
    [super viewDidLoad]; 
    UIButton *btn=[UIButton buttonWithType:UIButtonTypeRoundedRect]; 
    [btn setFrame:CGRectMake(100, 100, 200, 44)]; 
    btn.transform=CGAffineTransformMakeRotation(M_PI/-4); 
    [btn setTitle:@"RakeshBhatt" forState:UIControlStateNormal]; 
    [self.view addSubview:btn]; 
} 
+1

Pourquoi n'utilisez-vous pas simplement 'M_PI':/ –

+0

@Dauwe Maan - Ok - J'ai utilisé M_PI. Je suis d'accord qu'il est préférable d'utiliser M_PI. –

4
theButton.transform = CGAffineTransformMakeRotation(-M_PI/4); 

(Note:. N/4 = 45 °)

+0

Nop! s'il vous plaît vérifier - qui fait une mauvaise rotation - pas selon l'image de l'échantillon. –

+0

@sugar: Ah les coordonnées UIKit sont dans la direction opposée. Voir mise à jour. – kennytm

1

récemment, j'ai fait cela, je fais tourner 5 bouton dans des angles différents.

voici l'exemple:

UIButton *typewritterButton = [UIButton buttonWithType:UIButtonTypeCustom]; 

typewritterButton.frame = CGRectMake(15, 165, 130, 25); 

typewritterButton.transform = CGAffineTransformMakeRotation((0.0174)*135); 

[m_overlay addSubview:typewritterButton]; 

certainement cela fonctionnera pour vous ...

utilisent ce CGAffineTransformMakeRotation((0.0174)*135);

changer juste la valeur de 135 qui est l'angle dans lequel vous voulez pour faire pivoter l'objet ...

Faites-moi savoir s'il y a un problème ....

1

faites pivoter le degré

#define degreesToRadians(x) (M_PI * (x)/180.0) 

puis/90 est le degré:

button.transform=CGAffineTransformMakeRotation(degreesToRadians(90)); 
1

La version Swift:

button.transform = CGAffineTransformMakeRotation(CGFloat(-M_PI_4))