AutoLayout: cohérence de la layout avec l'espacement proportionnel des éléments avec des écrans de 3,5 "et 4"

Je veux utiliser AutoLayout pour positionner les controls avec un espacement vertical proportionnel entre eux (évitez le recadrage sur un écran de 3,5 ", évitez l'espace du fond blanc sur un écran de 4").

Comme suggéré dans d'autres réponses, je peux utiliser des vues d'espacement avec des contraintes de «hauteur égale», changeant le multiplicateur si nécessaire. Cependant, la layout finale n'est pas parfaite au pixel près, de sorte que le moteur ne peut pas les positionner de manière cohérente.

Les symptômes:

  1. Lorsque je fais une mise à jour de toutes les images dans IB, elle ne corrige pas les vues mal placées, mais les remplace simplement par d'autres vues mal placées.

  2. Plus important encore, au moment de l'exécution, je peux voir les commands sauter momentanément de quelques pixels vers le haut ou vers le bas, chaque fois que j'entre dans la vue.

Comment puis-je get la même layout cohérente à chaque fois?

  1. Définir les contraintes de hauteur pour les controls que vous souhaitez placer à l'écran verticalement
  2. Créer des points de vente pour les contraintes de hauteur.
  3. Pour les écrans de 3,5 pouces et 4 pouces, modifiez la valeur des contraintes de hauteur 'constante.
  4. Si la modification de la hauteur ne résout pas le problème, créez des contraintes d'espace vertical et définissez leurs valeurs en conséquence.