Partage
  • Partager sur Facebook
  • Partager sur Twitter

[iOS] Transistion entre les vues

Choisir d'autre transition

Sujet résolu
    10 avril 2012 à 14:03:08

    Bonjour,


    J'en suis à la deuxième partie du tuto Objective-C.
    J'ai réaliser l'application troisVues, en assignant les boutons au vues précédentes et suivantes.
    Cela fonctionne parfaitement, mais j'aimerais pouvoir choisir un autre effet de transition que PUSH.
    En effet PUSH fais arriver la vue suivante vers la droite, j'aimerai l'effet inverse.
    • Partager sur Facebook
    • Partager sur Twitter
      10 avril 2012 à 19:33:10

      Salut,

      La transition de vue pour un push (la vue qui glisse de gauche à droite) et l'animation par défaut.
      Le changement de transition est possible mais n'est pas naturel par l'api.
      pour faire une autre transition il faudra faire une animation de view, par exemple:

      [UIView beginAnimations:@"transition" context:nil];
      [UIView setAnimationDuration:1.0];
      [UIView 
        setAnimationTransition:UIViewAnimationTransitionCurlDown 
                       forView:self.navigationController.view 
                         cache:NO];
      [self.navigationController 
        pushViewController:autreView animated:NO];
      [UIView commitAnimations];
      


      Sinon tu peux passer par une transition modal où l'on peut facilement modifier la transition.
      autreView.modalTransitionStyle = UIModalTransitionStyleCoverVertical;
      [self presentModalViewController:autreView animated:YES];
      

      Tu trouveras les transitions pour une transition modal:
      http://developer.apple.com/library/ios [...] ansitionStyle
      • Partager sur Facebook
      • Partager sur Twitter
        11 avril 2012 à 9:35:51

        Je te remercie de ta réponse. Malheureusement je débute en Objective-C et j'ai du mal à déchiffrer tout le code.
        Faut-il créer une nouvelle méthode pour glisser ce type de code dedans en remplaçant ce qui faut ?
        Ce serait l'action associer ou bouton "vue précédente" ?

        Les transitions de type modal ne peuvent pas être modifié via "transition style" dans le volet attributs ? Parce que les noms données dans la doc ressemble grandement au nom proposé dans cette option

        Edit:

        J'ai essayer d'ajouter une nouvelle vue, pour cela je fais un cliquer-déposer d'un nouveau viewController mais je n'arrive pas à référencer des label ou des boutons à l'intérieur. Quand je ctrl+clic+glisser-déposer dans le viewController.h qui ne se passe, je peux pas lié l'élément au header ...
        • Partager sur Facebook
        • Partager sur Twitter
          11 avril 2012 à 12:01:04

          Malheureusement tout ne peut pas se faire juste avec storyboard, il faudra forcément mettre les mains dans le code pour développer une application riche.

          Via storyboard, en modal une liste de transition est proposé dans une liste déroulante, en push non.
          Si tu tiens à conserver une transition de type push et modifier l'animation il faudra codé.

          Je ne comprend pas ton second problème, peux tu donner plus d'infos.
          • Partager sur Facebook
          • Partager sur Twitter
            11 avril 2012 à 13:04:00

            ok, pour le second problème.
            Je créer une application multivue. j'ai donc ajouter un viewController dans le storyboard, et je voudrais déclarer cette nouvelle view dans le viewController.h. Pour cela la manipulation consiste à presser la touche ctrl tout en cliquant-glissant-déposer dans le viewController.h.

            Le problème c'est que je n'arrive pas à le faire sur les nouvelles vues que je créé .... La manipulation ne fonctionne pas, la boite de dialogue suivante ne s'affiche pas : Image utilisateur
            et donc la ligne :
            @property (weak, nonatomic) IBOutlet UIViewController *second_view;
            

            n'apparait pas ....
            • Partager sur Facebook
            • Partager sur Twitter
              11 avril 2012 à 15:22:57

              As tu bien changer le custom class de ton vue contrôler dans le story board à ta nouvelle vue contrôler(que tu as ajouté un.h et .m), comme cela:
              Image utilisateur
              • Partager sur Facebook
              • Partager sur Twitter
                11 avril 2012 à 15:26:04

                Aahhh la voila ! J'essayais UIViewController, UIView ou ViewController et du coup maintenant mon appli marche plus ;) J'essaierai çà ce soir. Juste une dernière question, le faite de créer un nouvelle vue (et donc une nouvelle classe) créer aussi de nouveau fichier dans lequel on met le code ou pas?
                • Partager sur Facebook
                • Partager sur Twitter
                  11 avril 2012 à 15:50:41

                  Non, il faudra alors glisser les éléments dans le fichier code du contrôleur de vue.
                  • Partager sur Facebook
                  • Partager sur Twitter
                    11 avril 2012 à 17:56:49

                    Citation : Pik@chu

                    Salut,

                    La transition de vue pour un push (la vue qui glisse de gauche à droite) et l'animation par défaut.
                    Le changement de transition est possible mais n'est pas naturel par l'api.
                    pour faire une autre transition il faudra faire une animation de view, par exemple:

                    [UIView beginAnimations:@"transition" context:nil];
                    [UIView setAnimationDuration:1.0];
                    [UIView 
                      setAnimationTransition:UIViewAnimationTransitionCurlDown 
                                     forView:self.navigationController.view 
                                       cache:NO];
                    [self.navigationController 
                      pushViewController:autreView animated:NO];
                    [UIView commitAnimations];
                    



                    Sinon tu peux passer par une transition modal où l'on peut facilement modifier la transition.

                    autreView.modalTransitionStyle = UIModalTransitionStyleCoverVertical;
                    [self presentModalViewController:autreView animated:YES];
                    


                    Tu trouveras les transitions pour une transition modal:
                    http://developer.apple.com/library/ios [...] ansitionStyle



                    Pourrais-tu m'expliquer chacune des lignes de ce code que je sache comment il fonctionne ;)
                    • Partager sur Facebook
                    • Partager sur Twitter
                      11 avril 2012 à 19:02:23

                      Le meilleur moyen de comprendre est de fouiller sur google et dans la doc officiel:
                      http://developer.apple.com/library/ios [...] ingviews.html

                      ça sera plus clair que si je t'explique, par contre il faut pas avoir peur de l'anglais.
                      • Partager sur Facebook
                      • Partager sur Twitter
                        11 avril 2012 à 20:06:23

                        Ok, je suis pas très doué en anglais mais je m'en sortirais. Merci à toi ;)
                        • Partager sur Facebook
                        • Partager sur Twitter

                        [iOS] Transistion entre les vues

                        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                        • Editeur
                        • Markdown