Avis contraintes / frames

Bonjour,


 


J'avais posé la question directement à  Céroce mais il m'a conseillé de le mettre en public :)


 


Alors voilà , j'ai besoin d'avis :


 


Il est vrai qu'Apple propose plusieurs méthodes pour placer les éléments dans une vue.


 


Je me pose la question suivante : comment choisir la bonne ?


 


Je me suis renseigné autour de moi et personne ne fait pareil !


 


Certains utilisent directement la taille du device avec des pourcentages et d'autres utilisent les contraintes (NSLayoutConstraint, NSLayoutAnchor).


 


Alors avant de me lancer dans un projet, j'aimerais faire les choses comme il faut ! :)


 


Merci d'avance pour vos réponses


Réponses

  • CéroceCéroce Membre, Modérateur
    octobre 2016 modifié #2
    Personnellement, j'utilise en général l'autolayout, mais comme c'est complexe à  utiliser et déboguer, parfois je vais utiliser une autre technique, comme ce bon vieux autoresizing ou UIStackView.

    Utiliser des pourcentages est en général une mauvaise idée, parce qu'on cherche rarement à  avoir un rapport constant de la taille de l'écran, mais plutôt à  ce que les éléments prennent la taille minimale nécessaire. Les pourcentages posent d'autres problèmes, comme des éléments qui peuvent se chevaucher.

    Ceci dit, tout cela est complexe, et souvent la bonne solution est la plus simple. Des fois, je mets des vues dans une vue parente pour créer une nouvelle hiérarchie, même si ce n'est pas optimal. (De toute façon, l'autolayout est lent). Il y a un moment où il faut livrer...
  • Pareil.


     


    Autolayout en règle général sauf quand je dois manipuler de nombreuses vues qui doivent s'animer dans l'écran, j'ai toujours plus de facilité à  le faire sans Autolayout.


  • AkslAksl Membre
    octobre 2016 modifié #4

    Merci pour vos réponses.


     


    Maggic quand tu dis sans Autolayout c'est à  dire ? Quoi à  la place ?


     


    Mais ça reste pas net dans ma tête (désolé de vous embêter avec ça)


     


    J'en reviens à  la question que j'ai posé hier sur le forum pour modifier les contraintes.


     


    Avez-vous un exemple réel de comment faire ?


     


    Le cas réel sur lequel je suis c'est :


     


    J'ai une UIView() parent et une autre UIView() à  l'intérieur.


     


    Je souhaite que la vue intérieure prenne 80% de la hauteur.


     


    Dans ma tête, pour le moment c'est :


     


    NSLayoutConstraint -> vueInterieur, height, equalTo, vueParent, height, constant : ?, multiplier : 80%


     


    Où, dois-je utiliser inférieurOuEgale ?


     


    Déjà , est-ce la bonne méthode ?


     


    Encore désolé de vous prendre la tête :(


Connectez-vous ou Inscrivez-vous pour répondre.