web-dev-qa-db-fra.com

l'autolayout iOS modifie l'espace de début et de fin

J'ai quelques problèmes avec la mise en page automatique, j'espère que certains d'entre vous pourront m'aider =).

J'ajoute UIView à un contrôleur de vue vide, comme ceci: enter image description here

J'ajoute ensuite des contraintes pour les espaces de début et de fin, comme ceci:

enter image description here

Ce qui résulte en ceci:

enter image description here

Je ne comprends pas pourquoi cela les définit comme égaux à -16,0. Si je modifie ces valeurs en 0, Xcode se plaint de la largeur de UIView gris.

Lorsque je lance l'application sur le simulateur iPhone 5, ça a l'air bien: enter image description here

Cependant, lorsque je lance l'application sur le simulateur iPhone 6 Plus, un espace est ajouté à gauche et à droite:

enter image description here

Je ne veux pas que l'UIView gris ait un espace de gauche à droite, quelle que soit la taille de l'écran. Comment puis-je le réparer? Merci!

16
almas

Double-cliquez sur la contrainte et ouvrez-la. Là, sélectionnez le premier ou le deuxième élément et désélectionnez l'option "Par rapport à la marge". Ensuite, définissez votre constante sur 0. 

Xcode affiche -16 car il calcule l'espace par rapport à une marge et non aux bords.

Vérifiez le lien suivant pour plus d'informations sur les marges. Modification des contraintes de mise en page automatique

enter image description here

37
Tejesh Alimilli

Vous pouvez supprimer toutes les contraintes existantes sur la vue et, en mode Tout * Tout, ajouter des contraintes pour les 4 espaces à superview, à savoir Avant, Fin, Haut et Bas. Il aura alors la même largeur que l’écran, quelle que soit sa taille. 

0
gabbler