i était d'implémenter une alerte personnalisée devue personnalisée d'alerte ne tourne pas à la rotation de l'appareil
http://iphonedevelopment.blogspot.com/2010/05/custom-alert-views.html
mais je veux que cela soit rotate vue personnalisée d'alerte lorsque le changement d'orientation de l'appareil. Lorsque je lance cette application pour la première fois en orientation portrait du simulateur d'iphone, l'orientation de la vue d'alerte personnalisée est le paysage, mais lorsque je fais pivoter l'appareil dans le paysage gauche, l'orientation de la vue d'alerte personnalisée est paysage. Après avoir fait tourner l'appareil à bien des égards, je l'ai trouvé que l'orientation personnalisée d'alerte est de suivre fonction de la position du bouton d'accueil ..
i est de mettre en œuvre cette plusieurs méthodes:
-(void) willAnimateSecondHalfOfRotationFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation duration:(NSTimeInterval)duration {
NSLog(@"kkksksksk");
}
-(void) willAnimateFirstHalfOfRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration{
NSLog(@"aaa");
}
-(void) willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration{
NSLog(@"bbb");
}
-(void) willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration{
NSLog(@"bbb");
}
-(void) willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration{
NSLog(@"ccc");
}
-(BOOL) shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation{
return YES;
NSLog(@"shouldAutorotateToInterfaceOrientation");
}
mais personne n'a été appelé ... quelqu'un peut me aider à travailler pourquoi l'affichage des alertes personnalisées ne sont pas tournant comme je veux?
MISE À JOUR: i est de mettre en œuvre la méthode viewWillAppear comme celui-ci
-(void)viewWillAppear:(BOOL)animated {
UIInterfaceOrientation toOrientation = self.interfaceOrientation;
if(toOrientation == UIInterfaceOrientationPortrait){
CGAffineTransform affine = CGAffineTransformMakeRotation (M_PI * 180/180.0f);
NSLog(@"vwa : portrait upside down");
[self.alertView setTransform:affine];
[self.backgroundView setTransform:affine];
//[self.view setTransform:affine];
self.view.center = CGPointMake(160, 240);
NSLog(@"affine : %f", affine);
}else if(toOrientation == UIInterfaceOrientationPortraitUpsideDown){
CGAffineTransform affine = CGAffineTransformMakeRotation (0.0);
NSLog(@"vwa : Portrait ");
[self.alertView setTransform:affine];
[self.backgroundView setTransform:affine];
self.view.center = CGPointMake(160, 240);
NSLog(@"affine : %f", affine);
}else if(toOrientation == UIInterfaceOrientationLandscapeLeft){
CGAffineTransform affine = CGAffineTransformMakeRotation (M_PI * 270/180.0f);
[self.alertView setTransform:affine];
[self.backgroundView setTransform:affine];
self.view.center = CGPointMake(160, 240);
NSLog(@"vwa : landscpae left");
NSLog(@"affine : %f", affine);
}else{
CGAffineTransform affine = CGAffineTransformMakeRotation (M_PI * 90/180.0f);
[self.alertView setTransform:affine];
[self.backgroundView setTransform:affine];
self.view.center = CGPointMake(160, 240);
NSLog(@"vwa : landscape right");
NSLog(@"affine : %f", affine);
}
}
mais la condition juste remplie à la première fois le lancement de l'application, après cela, il ne sommes condition et déclaration appelé même je fais tourner le périphérique plusieurs fois
Vous devez formater votre code ... – esqew
ce que vous entendez par « Vous devez formater votre code »? Je suis désolé, je ne comprends pas –
Ce support Web un format de code pour les codes, vous devez utiliser ce format. Et vous pouvez vérifier le résultat édité en bas. – AechoLiu