web-dev-qa-db-fra.com

Autolayout iOS: deux boutons de largeur égale, côte à côte

Je rencontre actuellement des difficultés avec AutoLayout. J'utilise le générateur d'interface et j'essaie de placer deux boutons d'égale largeur côte à côte, comme illustré dans l'image suivante.

objective layout

Dans l'image d'aperçu suivante, titleImage a été correctement contraint et s'affiche correctement, mais les boutons ne le sont pas. J'ai expérimenté l'alignement du bouton 1 avec le bord d'attaque de titleImage et du bouton2 avec le bord de fin de titleImage, mais la distribution en largeur entre les deux boutons devient asymétrique à ce stade, comme illustré ci-dessous.

problem scenario

Mon objectif est de comprendre les contraintes qui manquent et qui devraient être appliquées aux deux boutons pour conserver des largeurs égales quel que soit le périphérique. Si possible, j'aimerais réaliser cela par le biais du constructeur d'interface, par opposition au code supplémentaire.

87
Scratcha

Ajouter les contraintes suivantes

  1. Attribuez une largeur égale de button1 à button2.
  2. Attribuez un espacement horizontal entre les deux boutons.
  3. Attribuez un espace de début de button1 à son aperçu.
  4. Attribuez un espace de fin à partir de button2 à son aperçu.
  5. Attribuez un espace en haut aux deux boutons.
    Dites-moi si cela marche pour vous.
239
Abubakr Dar

Suivez les étapes et les captures d'écran pour une solution facile


Étape 1)

  • Pour le bouton 1: Définir les contraintes: (1) en tête, (2) en haut ou en bas selon vos besoins, (3) hauteur


Étape 2)

  • Pour le bouton 2: Définir les contraintes: (1) suivi, (2) supérieur ou inférieur selon vos besoins, (3) hauteur

Étape 3)

  • Appuyez sur Ctrl + Drag de Button 1 à Button 2

  • Sélectionnez Espacement horizontal


Étape 4)

  • Sélectionnez les deux boutons (à l'aide de la commande) et ajouter des contraintes Equal Width


[~ # ~] sortie [~ # ~]

J'espère que ça vous aide :)

72
Vvk

La disposition des piles dans iOS9 fera le travail vraiment bien. Ajoutez la vue de pile à votre vue et configurez comme suit:

enter image description here

18
Ben

Vous pouvez vérifier mon exemple - vous pouvez facilement viser cela en utilisant une contrainte proportionnelle. Aussi, vous pouvez facilement viser plusieurs UIViews proportionnelles. Veuillez regarder l'exemple ci-joint

https://dl.dropboxusercontent.com/u/48223929/TestViewController.xib

2
Vitaliy Gozhenko

Ma solution est de

  1. Placez une petite vue au milieu de deux boutons et placez-le au centre (centre horizontal dans le conteneur et centre vertical dans le conteneur à 0).
  2. Ajoutez de la hauteur et de la largeur à la petite vue.
  3. Ajoutez des boutons aux contraintes et donnez des contraintes d’espace horizontal aux petites vues.
  4. Donne à la petite image la même couleur d’arrière-plan que celle des boutons ou de la couleur de la vue.

Remarque: Voir la capture d'écran.

enter image description here

0
A.G