J'ai un UIView dans mon UIViewController dans le storyboard sur lequel je souhaite ajouter une contrainte à l'espace qui affiche une distance du bord supérieur.
Maintenant, lorsque je fais l'habituel en ctrl + glisser vers la vue principale du ViewController, je n'ai que l'option de le définir sur le guide de mise en page supérieur.
C'est un problème pour moi car à un moment donné dans l'application, je vais déplacer la vue principale d'environ 20 à 50 pixels et ce qui se passe alors, c'est que la vue que j'ai ne bougera pas ... parce qu'elle n'est pas alignée pour superview.
Comment puis-je le faire manuellement dans le storyboard ou dois-je l'ajouter par programme?
J'utilise xcode 6.
Réponses:
Il y a une flèche à droite de la valeur de la constante de contrainte. Si vous cliquez dessus, un menu apparaît dans lequel vous pouvez choisir à quoi vous voulez rendre votre contrainte relative. Si vous choisissez «Afficher», il l'épinglera en haut de la vue.
la source
Vous devriez pouvoir le faire en mettant en évidence la vue souhaitée dans le storyboard, puis en sélectionnant
Editor > Pin > Top Space to Superview
dans le menu supérieur.la source
TL; DR: vous pouvez contraindre à la marge en appuyant sur la Alttouche du clavier.
On peut également ajouter que si la vue que vous essayez d'épingler n'est pas une sous-vue directe de la vue à laquelle vous voulez l'épingler, l'approche suggérée n'est pas vraiment valable. Supposons que la hiérarchie de vues ressemble à cela et que vous souhaitiez épingler la vue d'image (
Parallax Image View
dans ce cas) à la vue du contrôleur de vue (View
dans ce cas).Pour ce faire, il vous suffit de Control+ Dragdu
Parallax Image View
auView
. Cela présente les choix par défaut où vous pouvez voirVertical Spacing to Top Layout Guide
pour épingler leParallax Image View
guide de mise en page supérieur.Ce que vous voulez, c'est l'épingler en haut (marge) de la vue. Pour ce faire, vous devez passer à l'autre ensemble de contraintes en appuyant surAlt
la source
J'avais déjà tout un tas de contraintes et je voulais juste les changer plutôt que les casser. Il s'avère que si vous double-cliquez sur la contrainte à modifier, puis cliquez sur l'élément qui a le ".Margin", vous pouvez simplement désactiver le "Par rapport à la marge" en sélectionnant cet élément.
la source
La réponse de Dan fonctionne. Je voulais juste dire que si vous définissez votre vue dans storyBoard à y <20, et configurez des contraintes via le panneau de broches, il sera mis en avant pour superview:
la source
Si la hauteur de la vue est définie sur 0 par accident, le guide de disposition de l'espace vertical vers le haut n'apparaîtra PAS. Le guide de disposition de l'espace vertical vers le bas apparaîtra, cependant, ce qui doit avoir du sens pour quelqu'un à l'intérieur d'Apple vers 2004.
la source
Aucune des réponses ci-dessus n'a fonctionné pour moi, à la place, je dois faire un hack pour définir le haut de ma sous-vue avec le haut de superview à la place avec le guide de mise en page Top.
Vous êtes prêt à partir maintenant.
la source