web-dev-qa-db-fra.com

La contrainte de fin est manquante erreur

J'ai l'erreur suivante dans Xcode et n'arrive pas à résoudre le problème:

Une contrainte de fin est manquante, ce qui peut entraîner un chevauchement avec d'autres vues.

J'ai essayé d'ajouter la contrainte de fin et de modifier les paramètres Egal et Supérieur ou égal à, mais aucun ne fait disparaître l'erreur.

J'ai également utilisé les options "Réinitialiser les contraintes suggérées" et "Mettre à jour les constantes de contrainte", mais sans succès.

Je peux modifier tous les éléments de mon contrôleur de vue, mais je termine toujours par cette erreur, bien qu'il puisse s'agir de l'un quelconque des éléments et non d'un élément spécifique qui me confond encore plus.

S'il vous plaît voir l'image ci-jointe.

J'ai essayé d'être aussi clair que possible, mais je m'excuse si j'ai oublié quelque chose.

S'il vous plaît quelqu'un peut-il indiquer comment cette erreur peut être corrigée?

 enter image description here

7
user1747021

Cela vous dit que vos étiquettes à gauche peuvent se croiser avec vos commutateurs à droite. Vous devez imposer à vos étiquettes une contrainte leur indiquant la distance qui les sépare des commutateurs. 

Vous pouvez soit donner à vos étiquettes une largeur/distance de jeu variable I.E. définir la bonne contrainte du commutateur. Vous pouvez également définir une largeur/une distance variable par rapport au commutateur en cliquant sur son étiquette, en lui attribuant une contrainte correcte puis en rendant cette contrainte inférieure ou égale à une valeur en cliquant sur la contrainte et en modifiant le paramètre de relation.

Une autre option consiste à aligner toutes vos étiquettes sur une contrainte de fin. Il suffit ensuite d'indiquer à une étiquette comment elle doit être contrainte pour les commutateurs et que les autres suivront.

EDIT: Une autre option consiste à ajouter l’étiquette et le commutateur correspondant à une vue de pile en les sélectionnant et en cliquant sur le bouton situé à gauche du bouton de contrainte d’alignement. Alignez ensuite horizontalement la vue de pile, attribuez à celle-ci une contrainte gauche, droite et supérieure ou inférieure, ce qui devrait également la corriger. (C'est probablement ce que je ferais moi-même).

Exemple StackView:

 StackViewExample

Comme vous pouvez le constater, cliquer sur le bouton en surbrillance crée une pile qui contient les vues enfants.

Définir la distance et aligner l'exemple de fuite:

 enter image description here

4
Cameron Porter

I Belle petite solution de contournement: ce type de contrainte (si vous voulez simplement les faire disparaître) consiste à créer une contrainte manquante (pour les bords avant ou arrière), puis éditez sa relation et sa constante sur "supérieur ou égal à 0". De cette façon, vous pouvez être sûr que votre vue ne sera pas gâchée et que l'avertissement disparaîtra: 

Dans cet exemple, GPS Logout manque la contrainte suivante: 

 enter image description here

Ajoutez une contrainte manquante avec la valeur suggérée: 

 enter image description here

L'avertissement disparaîtra, mais pour vous assurer que cette contrainte n'affectera pas la vue, quelle que soit la taille de l'écran, vous pouvez la modifier, ainsi que la relation avec> = 0.

 enter image description here

1
Bartosz Kunat