2010-04-15 5 views
0

une question courte.UIView Animation: PartialCurl ... bug pendant la rotation?

J'ai créé une application pour l'iPad, un peu comme une application utilitaire pour l'iPhone (un mainView, un flipSideView). L'animation entre eux est UIModalTransitionStylePartialCurl. shouldAutorotateToInterfaceOrientation retourne YES.

Si je fais tourner l'appareil AVANT d'entrer dans le FlipSide, tout va bien et le PartialCurl s'affiche correctement. Mais si j'entre dans le FlipSide et que je fais pivoter le périphérique, alors que les UIElements tournent et se positionnent correctement, le "curl de page" actuel reste dans son orientation initiale. ça ne bougera pas :)

Est-ce un problème connu? Est-ce que je fais quelque chose de mal? Merci!

Répondre

0

J'ai aussi eu ce problème et un peu abandonné. Cependant, j'ai mentionné mon dilemme à un ami, qui m'a encouragé à regarder dans la logique de l'enfant VC et j'ai rappelé un truc pratique que j'ai utilisé pour transmettre des données entre les contrôleurs de vue parent/enfant.

Dans votre contrôleur de vue, créez une propriété "rootViewController". Dans votre contrôleur de vue parent, lors de l'initialisation du contrôleur de vue de Flipside, vous définissez (où "soi" est le rootVC):

flipsideController.rootViewController = self; 

Vous utilisez ensuite ce pour votre Flipside méthode de shouldAutorotateToInterfaceOrientation VC:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { 
    return interfaceOrientation == self.rootViewController.interfaceOrientation; 
} 

Viola! La vue arrière ne tourne plus sous la vue parentale partiellement recourbée!

0

Le chemin le plus court du code ci-dessus est:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation 
{ 
    return interfaceOrientation == self.parentViewController.interfaceOrientation; 
} 
Questions connexes