Xcode 4 et Interface Builder: la Modification de l'Espacement Vertical Contrainte (Ancre en Haut, pas en Bas)
J'ai un widget qui n'est pas à la pose correctement sur l'appareil (son semble OK de l'IB, mais ce n'est pas tout à fait à droite). Le widget est un label et de ses situé au milieu de l'écran. Interface Builder a donné un Espace Vertical de Contrainte avec un "Fond d'Ancre'. Ici, le bas moyen bas de l'écran (plutôt que d'un widget ci-dessous, ou de point d'ancrage à écran du haut).
Je suis dans l'inspecteur, mais je ne vois pas comment le changer pour un ancrage supérieure (de préférence, pour le widget ci-dessus). J'ai essayé de la lecture de Apple docs et L'Édition De Contraintes en particulier, mais il a été une source de confusion et n'a pas expliqué comment faire le changement (ou j'ai raté la discussion - qui était de 7 phrases).
Ci-dessous est une capture d'écran sous Interface Builder montrant l'Espace Vertical Contrainte ancrées au fond de l'écran. Et de ses attributs, laissent beaucoup à désirer - Égale, Constante et la Priorité n'est pas vraiment utile.
Personne ne sait comment modifier les contraintes? Plus précisément, je tiens à (1) changement d'une entretoise verticale de l'ancre du fond à haut; et (2) d'ancrage contre le widget ci-dessus, et non par le haut de l'écran.
fait, bonne suggestion.
OriginalL'auteur jww | 2013-01-01
Vous devez vous connecter pour publier un commentaire.
Sélectionnez le "Intégrée" et le "Calculé" élément ensemble par shift-cliquant.
Avec ces deux éléments sélectionné, utilisez les contraintes menu:
Ce menu, avec une sélection rigoureuse des éléments, est au cœur des heureux édition de contraintes de l'IB. Dans votre cas, choisissez l'élément central, le Pin menu. Choisissez l'Espacement Vertical - ce qui va créer une nouvelle contrainte sur l'espacement vertical entre les deux éléments. Vous pouvez également sélectionner un seul élément et de pin "en Haut de l'espace de superview" à la broche vers le haut au lieu du bas.
Vous pouvez maintenant sélectionner et de supprimer l'espacement vertical vers le bas de la vue. L'IB ne serait pas vous permettre de supprimer cette avant car vous devez avoir un ensemble complet, non-ambiguë ensemble de contraintes. Après l'ajout de votre nouveau espacement vertical contrainte, vous avez maintenant cette.
Pour illustrer davantage, ici, c'est un vide-vue-contrôleur, avec un seul champ de texte que j'ai traîné sur:
Toutes les contraintes sont de couleur pourpre, ce qui signifie IB a ajouté pour moi (ils sont les contraintes du Système) et ils ne peuvent pas être supprimés: ils sont le minimum de contraintes nécessaires à la position et la taille du champ de texte.
Maintenant, je vais sélectionnez le champ de texte, et la broche sur le haut de l'espace de la superview:
Maintenant, vous pouvez voir que les deux verticales contraintes d'espace ont changé de bleu (ils sont maintenant contraintes des utilisateurs) et ils ont un aspect plus épais à l'éditeur. Cela signifie que l'un d'eux peut être supprimé. Je sélectionne la contrainte de l'espace inférieur et appuyez sur la touche supprimer:
Notez que cela en a l'apparence d'un utilisateur de la contrainte, mais si j'essaie de le supprimer, IB automatiquement recréer le système de contrainte clouant le bas de la superview, retour à la case départ.
J'ai écrit sur ce sujet, et semblables mise en page automatique des sujets, ici.
est-il possible de sélectionner une valeur par défaut de "flux" de mise en page comme Android? - Je trouver les occasionnels Xcode choix de l'ancre vers le bas pour être bizarre.
Non, vous êtes coincé avec le menu "aide" de l'IB vous donne, j'ai peur!
Concernant votre commentaire, voir ici: meta.stackexchange.com/questions/16065/... 😉
merci pour le lien. J'ai effectué une analyse rapide mais rien n'a sauté pour le transfert de points. L'article lui-même est très long, et je n'ai pas le temps de le lire au moment de comprendre ce que je suis censé faire pour transférer des points pour vous.
OriginalL'auteur jrturton
J'ai eu un mot pour les mises en page automatiques. Si cela fonctionne, cela fonctionne, mais s'il ne le fait pas, puis d'utiliser la méthode à l'ancienne (code)
Pour un projet qui n'a pas à être pris en charge sur les versions 5.0 et est conçu uniquement pour ios 6.0, la mise en page automatique fonctionne très bien. Mais quand vous avez un projet qui utilise les anciens ressorts et amortisseurs et a l'animation en elle, et vous tournez mise en page automatique, tout l'enfer se déchaîne. Soudain, l'animation ne fonctionne plus ou fonctionne mal. les éléments sont positionnés partout. Donc pour le contenu statique, en utilisant la mise en page automatique peut fonctionner pour vous, mais pour le contenu dynamique (animation), vous devez compter sur l'aide du code à ajouter NSLayoutConstraints et la faire ressembler à la version qui n'utilise pas de mise en page automatique
Ce n'est pas un mot
OriginalL'auteur zyzzyxx