web-dev-qa-db-fra.com

Storyboard Auto Layout: "espace de fin dans le conteneur" vs "espace de bas en bas"

Une personne peut-elle m'aider à comprendre la différence entre "fin de fichier dans le conteneur" et "fond de page en bas" dans la présentation automatique du générateur d'interface? 

Interface Builder Auto Layout Constraints

J'aimerais mettre en place une contrainte de mise en page qui relie le bas d'une vue au bas de son aperçu. Les deux réponses ci-dessus semblent aller dans ce sens. 

Toute clarification serait grandement appréciée. 

16
bbrame

Début/fin est l'espacement horizontal. (Les libellés "gauche" et "droite" ne sont pas étiquetés, car ils sont remplacés par des langues de droite à gauche.) Haut/bas correspond exactement à ce que cela indique.

"Conteneur" et "Guide de mise en page" sont définis différemment, mais fonctionnent de manière similaire dans la pratique. Les contraintes "To Container" contrôlent l'espace entre un élément d'interface utilisateur et le bord de son aperçu (ou un autre élément d'interface utilisateur contenant). Les contraintes "To Layout Guide" constituent un cas particulier d'espacement vertical. Étant donné que les vues s'étendent sous des barres de navigation/d'état/de tabulation transparentes dans iOS 7, vous souhaitez généralement contrôler l'emplacement d'un élément de l'interface utilisateur par rapport à ceux plutôt que par rapport au bord de la fenêtre. vue.

Alors... 

J'aimerais mettre en place une contrainte de mise en page qui relie le bas d'une vue au bas de son aperçu.

"Guide de mise en page de bas en bas" est ce que vous voulez pour cela. Cela définira l'espacement par rapport au bas de l'aperçu s'il n'y a pas de barre d'onglets et par rapport à la barre d'ongles s'il en existe une.

22
rickster

N'oubliez pas de décocher "Par rapport à la marge" enter image description here

6
Artem Zaytsev

Espace de fuite

Espace entre le bord droit de la vue actuelle et la vue suivante/voisine ou la vue d'ensemble

Espace de premier plan

Espace à partir de la vue voisine ou d'une vue d'ensemble supérieure à gauche de la vue actuelle

De même, haut et bas correspondent aux espaces haut et bas. 

6
Irfanlone

Pour ajouter à la réponse déjà acceptée, il convient également de noter que si vous remplacez la vue dans un contrôleur de vue par un autre, j'ai constaté que les contraintes relatives aux guides de mise en forme ne sont pas réellement utilisées. Je n'ai pas examiné les détails exacts, mais je suppose que c'est parce que les guides de mise en page ne sont disponibles que pendant le chargement du View Controller dans le story-board.

Pour cette raison, je vous recommande d'utiliser layout to container, mais uniquement lorsque vous avez l'intention de permuter des vues du contrôleur de vue. 

Je suis tombé sur cette idée lorsque j'ai voulu utiliser le storyboard pour créer des états vides pour mes applications.

Exemple:

-(void)viewDidLoad{UIView* replacementView = //view loaded from storyboardself.view = replacementView //Layout guide margins will not be followed in replacement view}

0
Matt M