2009-05-27 5 views
4

J'ai créé une RootViewController, puis faire que geosensitive en écrivantwillAnimateSecondHalfOfRotationFromInterfaceOrientation pas appelé contrôleur de vue racine

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation 
{ 
    return YES; 
} 

Dans la méthode RootViewController willAnimateSecondHalfOfRotationFromInterfaceOrientation est appelée et les images sont le redimensionnement.

J'ai aussi quelques points de vue là-dessus, mais quand je tourne l'écran la vue est rotate, mais les images ne sont pas si je le redimensionnement utilisé le même

-(void)willAnimateSecondHalfOfRotationFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation duration:(NSTimeInterval)duration 
{ 
    UIInterfaceOrientation toOrientation = self.interfaceOrientation; 
} 
méthode

mais il ne peut pas appelé. Alors, que puis-je faire? Aidez-moi, s'il vous plaît.

+0

Votre méthode est probablement appelée, mais elle ne fait rien. –

+0

Question pourrait encore besoin d'un titre plus descriptif. – Kriem

+1

Titre descriptif et en utilisant correctement démarquer (code inline surround avec '' et utiliser le bouton de format de code pour les gros blocs de code) rendent votre question plus facile pour les autres à répondre. J'ai réparé ceux-ci pour vous. –

Répondre

5

Cela m'a aussi. Je pense que vous trouverez la réponse si vous regardez ce fichier d'en-tête pour UIViewController. Il y a des commentaires là-dedans qui indiquent que vous pouvez remplacer SOIT

  • (void) willAnimateRotationToInterfaceOrientation: durée de toInterfaceOrientation:

OU un des

suivants
  • (void) willAnimateFirstHalfOfRotationToInterfaceOrientation: durée:
  • (vide) DidAnimateFirstHalfOfRotationToInterfaceOrientation:
  • (void) willAnimateSecondHalfOfRotationFromInterfaceOrientation: Durée:

Apparemment, si vous remplacez le premier, qui est le seul qui sera appelée. Si vous voulez un retour d'informations à chaque étape de la rotation, utilisez l'un des deuxièmes jeux, mais ENLEVEZ le premier.

1

Une autre chose à prendre en compte est que vous avez remplacé la méthode shouldAutorotateToInterfaceOrientation pour autoriser des rotations autres que la valeur par défaut de portrait.

Par exemple:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { 
    // Return YES for supported orientations 
    return YES; 
} 

Si vous ne le faites pas, vos méthodes implementated ne seront pas appelés.

Questions connexes