2017-06-25 1 views
1

J'essaie de positionner un élément à égale distance du guide topographique et du guide topographique. Existe-t-il un moyen de le faire via le constructeur d'interface ou par programmation? Une solution que je peux penser est juste de faire une autre vue (avec des contraintes explicites au guide de mise en page haut/bas) en intégrant cet élément, puis en centrant l'élément dans cette vue, mais je me demandais s'il y avait un moyen de faites ceci par autolayout.Distance égale à partir du top guide et du top layout

+0

Vous voulez placer l'élément dans une telle manière qu'il a égale distance du haut et du bas? Utilisez simplement la disposition automatique. Sélectionnez la vue et épinglez-la du haut et du bas par quelques chiffres égaux. –

+0

@DanielIsaac Merci pour la réponse. Les épingler avec des nombres égaux arbitraires ne semble pas le rendre sensible aux différentes tailles d'écran cependant - y a-t-il des étapes qui me manquent? – user3587412

+0

Où voulez-vous placer l'élément exactement? En supposant que vous voulez le faire au centre, procédez comme suit 1. Sélectionnez l'image et vérifiez la plus petite taille de l'iPhone, une taille qui convient. Utiliser la mise en page automatique et la fixer à cette largeur et hauteur 2. Sélectionnez la vue et choisissez les options centre horizontalement et verticalement dans le conteneur 3. Épinglez la vue par quantités égales de haut en bas –

Répondre

0

Ajoutez un autre UIView avec des contraintes avec les guides de mise en page haut et bas. Ensuite, ajoutez votre vue sous forme de sous-vue et alignez-la verticalement et horizontalement.

enter image description here

enter image description here

+0

C'est ce que j'ai fini par faire. Merci – user3587412

0

contraintes régle ainsi. Les guides de mise en page vous indiquent le début et la fin de votre contrôleur de vue. Donc tout ce que vous devez faire est de définir la hauteur et la largeur de votre vue, puis placez-le sur le centre horizontal et vertical. enter image description here

+0

Merci, mais en le centrant verticalement ne semble pas faites-le répondre aux modifications du guide de mise en page du bas. Cependant, cela fonctionne quand je fais une autre vue en intégrant mon élément, puis en centrant mon élément à l'intérieur, comme mentionné dans ma question. – user3587412

+0

@ user3587412 - cela semble (à moi) comme la bonne réponse. Je suis confus, et je pense que la plupart des "gurus" de mise en page automatique aussi. La plupart du temps cela signifie que votre question est un peu vague. Pouvez-vous donner un exemple précis de * runtime * - je préfère le code, mais je suis sûr que IB travaillera pour nous - de quel comportement vous avez besoin? À tout le moins, pourriez-vous ** définir ** comment un guide de mise en page bas * change *? À travers les appareils, les orientations, ou peut-être des vues? Bien sûr, un contrôle onglet "change" les choses, mais le centrage contre l'axe Y est simple! (Vous et moi le savons, évidemment.) Alors, quel est le problème? – dfd

+0

@dfd Désolé, par les changements de guide de mise en page bas, je voulais dire la longueur du guide de mise en page bas changement par programmation. Par exemple, je peux insérer une barre inférieure juste au-dessus de la barre d'onglets et modifier la longueur du guide de mise en page inférieur pour effectuer les changements d'interface utilisateur correspondants. J'ai essentiellement fini par faire ce que Bilal faisait ci-dessous mais je me demandais s'il y avait un moyen de contourner l'ajout d'un autre UIView. – user3587412