2017-08-06 3 views
0

J'essaie d'obtenir une mise en page où j'ai 9 carrés de 3 x 3 et sur toutes les tailles d'appareils, ils sont carrés. J'ai essayé d'innombrables idées pour le faire fonctionner mais je n'arrive pas à l'obtenir pour rester sur tous les appareils.Problèmes de mise en page automatique

J'ai joint ci-dessous, une image montrant les résultats et les contraintes actuelles sur le carré du coin supérieur gauche.

Toute aide serait géniale!

enter image description here

+2

Vous devez utiliser stackView – Phyber

+0

Utiliser les contraintes 'aspect ratio' avec Multiplier (1: 1) –

Répondre

1

La meilleure approche serait d'utiliser le stackView. L'avantage sera que vous n'avez pas à faire face aux nombreuses contraintes. Sélectionnez donc les trois premières lignes horizontalement puis cliquez sur le bouton Embed in Stack dont l'axe doit être horizontal dans votre storyboard. Suivez la même chose pour les deuxième et troisième rangées. Aussi à l'intérieur stackview vous pouvez mentionner l'espacement que vous voulez.

Alors maintenant, vous avez trois stackView pour toutes les trois lignes. Après cela, sélectionnez les trois stackView puis cliquez sur le bouton Embed in Stack et l'axe doit être vertical et vous pouvez indiquer l'espacement souhaité.

Donc l'avantage de faire cela est que vous n'avez pas à vous soucier des contraintes. Enfin il suffit d'appliquer la contrainte sur votre principale stackView qui détiennent votre enfant a stackView

+0

Génial merci pour l'info Je vais vérifier la pile et suivre ces étapes! – Sam

+0

Bien sûr et c'est très simple à utiliser –

+0

Parfait! Cela a fonctionné et était beaucoup plus facile merci! – Sam

1

Bien que je suis totalement d'accord que UIStackView est une excellente option, vous pouvez également ajouter Aspect Ratio contraintes (avec un Multiplier de 1) à vos places et assurez-vous qu'ils restent au carré (car rien dans votre mise en page actuelle n'exige que vos vues soient carrées).

Si vous voulez que vos 9 carrés restent au centre de la vue d'ensemble, je recommande de les ajouter à une vue intermédiaire invisible et de les centrer dans la vue d'ensemble.