Storyboard segue

macphimacphi Membre
mai 2017 modifié dans API UIKit #1

Bonjour à  tous


 


J'ai une petite app très simple pour iPhone.


J'utilise des Storyboard segues pour passer d'un UIViewController à  l'autre.


 


En partant de zéro j'ai fait une app pour iPad et là  pas moyen d'obtenir les mêmes segues...


 


Sur l'app iPad j'ai juste les options (push - modal - popover - replace et custom)


Sur l'app iPhone les options (show (e.g. push) - Show Detail (e.g. replace) etc... plus d'options)


 


Pourquoi n'y a-t-il pas les mêmes options dans l'app iPad ?


 


Merci, je sèche...


???


 


PS : Target 10.0 pour les deux app et (à  priori) les mêmes paramètres


Réponses

  • Joanna CarterJoanna Carter Membre, Modérateur
    Si c'est la même appli, tu pourrais faire un storyboard universel. Les segues dispos sont, en effet, les mêmes ; sauf leurs comportements sont modifiés dans le cas de master/detail.
  • Joanna CarterJoanna Carter Membre, Modérateur

    Les deux storyboards, ils sont fait pour la même version de Xcode ?


  • macphimacphi Membre
    mai 2017 modifié #4

    oui même version au final mais j'utilise les mêmes storyboards depuis iOS 8 et Xcode 6 ou 7 et là   c'est en version 10 et Xcode dernière 8.3.2


     


    je voulais juste ajouter un UIViewController à  la version iPad, je ne pensais pas galèrer autant !


  • Joanna CarterJoanna Carter Membre, Modérateur
    mai 2017 modifié #5
    J'ai essayé avec toutes sortes de storyboard et je ne vois pas ce que tu as décrit.
  • macphimacphi Membre
    mai 2017 modifié #6

    Voici les différences de menu contextuel en image...


    Et les deux segues depuis des boutons banals !


    Pas moyen de trouver pourquoi !


    :'(


     


    A8ZxBop.png


     


    m2ygVZQ.png


  • Joanna CarterJoanna Carter Membre, Modérateur

    Trouvé !!! C'est parce que il y a un cas à  cocher pour le storyboard, dans le "file inspector", pour "Use Trait Variations"


     


    Peut-être, pour le storyboard le plus vieux, l'option n'était pas cocher par défaut.


  • macphimacphi Membre
    mai 2017 modifié #8

    C'est exactement ça !!!


    Un grand bravo et un grand merci !!!


     


    Donc mon app doit dater de Xcode 6...


    ::)


    Je me doutais qu'à  force de recompiler (presque) simplement à  chaque version, j'allais avoir un souci mais finalement ça a fonctionné assez longtemps...


     


    Merci encore !



     


    Bon je vais quand même regarder ce que sont les fameuses "Trait Variations"


    8--)


  • Joanna CarterJoanna Carter Membre, Modérateur
    Deux choses.


    Il faut vérifier que le vieux n'utilise pas les types de segues deprecated ; si oui, il faut les changer.


    Les Trait Variarions sont là  pour que l'on puisse faire un seul storyboard pour toutes sortes d'iBidule au même temps ; ça tient compte de toutes les variations, soit d'iPhone, soit d'iPad.


    e.g. Avec les iPhone 6+/7+ en orientation paysage, les SplitViewControllers s'affichent en deux parties mais sur les iPhones réguliers, ils comportes comme deux vues avec un segue push.


    Et, avec les iPads, on peut tenir compte de ce qui arrive quand l'utilisateur utilise le "split screen" et, tout d'un coup, ta vue change de pleine largeur à  une largeur d'un tiers ou deux tiers de l'écran.


    Il faut toujours tenir compte que c'est les utilisateurs qui veulent utiliser ton appli sur n'importe quel appareil et dans n'importe quelle orientation.
Connectez-vous ou Inscrivez-vous pour répondre.