2009-08-31 4 views
0

bonjour tout ce que j'utilise ce code pour montrer l'animation flip ...... j'ai un uiview avec scrollview (pagination activée) ... donc il montre une vue comme une page ... maintenant j'ai aussi fait l'animation flip en utilisant ce code ....supprimer chaque type de sous-vue de uiscrollview?

-(void)flipView 
{ 
    flashCardAnswerController *flashCardAnswerControllerobj = [[flashCardAnswerController alloc] initWithNibName:@"FlashCardAnswerView" bundle:[NSBundle mainBundle]]; 
[flashCardAnswerControllerobj.view setFrame:[[self view] frame]]; 
[UIView beginAnimations:nil context:nil]; 
[UIView setAnimationDuration:0.60];// Sub. duration 
UIView *superview; 
    if ((superview = [[self view] superview])) { 
    [UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft forView:superview cache:YES]; 
    [superview addSubview:[flashCardAnswerControllerobj view]]; 
} 
[UIView commitAnimations]; 
} 

donc selon le code de la nouvelle vue sera ajouté à scrollview..i gérer aussi à libérer la nouvelle vue en renversant en arrière ... mais si je pousse directement le bouton de retour sur le contrôleur de navigaion ... la vue de côté ne se déclenchera pas. J'ai essayé dans la méthode dealloc de ma classe de scrolleview mais il ne fonctionne pas

for(UIView *subview in [scrollView subviews]) { 
     [subview removeFromSuperview]; 
} 

Comment puis-je supprimer le point de vue de Flipside les vues sont très nombreux ... environ. 48 plus 48 basculer les vues latérales afin de créer définitivement des problèmes de mémoire sur l'appareil ...

aussi quelqu'un pourrait-il me dire un moyen de désactiver le bouton retour de NavigationBar dans la vue de côté ... sans créer l'objet de classe de la traîne.

Répondre

1

Je n'ai pas de réponse directe à votre question, mais je peux dire que c'est l'ancienne version de l'iPhone OS 2.x pour afficher une vue inversée.

Dans iPhone OS 3.0, vous devez utiliser presentModalViewController:animated: à la place. C'est beaucoup moins de code, et tous les problèmes que vous décrivez dans vos questions disparaissent.

L'idée est que le revers de la vue actuelle est géré par un UIViewController distinct que vous affichez de manière modale. Mais en plus de l'animation coulissante de la version 2.0, vous pouvez également animer le nouveau contrôleur de vue à l'intérieur et à l'extérieur avec un retournement horizontal.

self.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal; 
[self presentModalViewController:flipSideController 
         animated:YES]; 
+0

oui j'ai 2.x os.tell moi comment libérer le point de vue de ... autre côté –

+0

Vous devriez vraiment, demandez vraiment bien vous; un utilisateur qui ne peut pas prendre la peine d'installer iPhone OS 3.0 prendra-t-il la peine d'installer mon application? Dans le cas improbable où la réponse est oui; Ajoutez une sous-vue flip-side à une vue supérieure dans la hiérarchie de la vue, éventuellement en tant que vue enfant de votre instance UIWindow. De cette façon, la barre de navigation n'est plus là, et le bouton de retour n'est pas un problème. Demander à l'utilisateur de retourner une page avant de passer à la suivante n'est pas un problème, voir Météo. De même, vous n'avez jamais besoin de libérer des sous-vues dans la méthode dealloc, l'implémentation par défaut dans UIView le fait déjà pour vous. – PeyloW

+0

ajouter dans Windows ne fonctionne pas ... N'y at-il un moyen que je puisse savoir si scrollView a sous-vue de la classe FlipSide je pourrais libérer si ScrollView a Flip Side View –

0
[[scrollView subviews] makeObjectsPerformSelector:@selector(removeFromSuperview)] 
Questions connexes