Mise en page automatique - Position en Pourcentage
J'aimerais carte des points le long d'une ligne.
La longueur de la ligne dépend de l'appareil et de l'orientation et est toujours tendu à travers la totalité de l'écran. Donc il serait le plus judicieux pour moi de position les points à l'aide d'un pourcentage relatif valeur.
Jusqu'à présent je n'ai trouvé que des contraintes en cours de définition en quelque sorte de la valeur du point (Doc)
Est-il possible d'utiliser des valeurs en pourcentage que les contraintes ainsi? Toutes les idées sur comment la position de ces points dans un système évolutif ... ou dois-je faire cette conversion/positionnement "manuellement"?
Vous devez vous connecter pour publier un commentaire.
Oui, vous pouvez placer le point comme une fraction de la vue de la largeur. Le NSLayoutConstraint méthode, constraintWithItem:attribut:relatedBy:toItem:attribut:multiplicateur:constant: a ce multiplicateur paramètre qui vous permet d'utiliser une fraction de la relation entre un superview et de ses sous-vue. Le superview du bord droit sera la largeur de ce point de vue (l'écran si sa largeur de vue), donc, si vous créez une contrainte comme ci-dessous, le point sera positionné à une fraction de la distance le long de la ligne:
Dans cet exemple, je suis le positionnement de deux UIButtons (info type de sombre et de la lumière). J'ai ajouté dans l'IB, et fait IBOutlets à leurs contraintes qu'ils ont sur le côté gauche de la vue (c'est ce que le système m'a donné, il aurait pu être sur le côté droit -- il n'a pas d'importance puisque vous venez de les supprimer de toute façon. Si vous faites le nombre de points dans le code, vous n'auriez pas besoin pour cela). Dans le code que j'ai supprimer ces contraintes, en ajouter de nouvelles, qui va placer le centre de boutons à 50% et de 90% de la largeur de l'écran.
multiplier
etNSLayoutAttributeRight
(bien que je pourrais faireNSLayoutAttributeCenterX
àNSLayoutAttributeRight
, mais Bernd sans doute a l'idée). Merveilleux.Je ne suis pas une auto-mise en page de l'expert (ou même compétente pour l'instant!) mais comme de XCode 6, vous semblez être en mesure de le faire au bureau de l'IB.
Montrer la taille de l'inspecteur (cliquez sur la règle)
Double-cliquez sur la contrainte rectangle (pas évident! "Modifier" vous emmène ailleurs)