web-dev-qa-db-fra.com

Diviser l'écran en vues 1/3 et 2/3 en utilisant la mise en page automatique

Existe-t-il un moyen de diviser l'écran en pourcentage (pourcentage non égal) J'ai besoin de diviser l'écran en deux parties 1/3 et 2/3. Je sais comment diviser en parties égales, mais je ne sais pas comment diviser en parties non égales.

Merci

33
ilan

Xcode contraints

Créez des contraintes de "largeurs égales" entre votre vue et la super vue avec le multiplicateur 2: 3 pour une vue et 1: 3 pour l'autre. Voir l'image. "Hauteur égale" si vous souhaitez diviser dans l'autre sens.

57
Stefan

Pas :

  1. Faites glisser deux UIView objects sur viewcontroller.
  2. Épingler la vue de gauche à gauche, en haut et en bas de superview
  3. Et vue droite à droite, haut et bas de superview.
  4. Épinglez l'espacement horizontal entre deux vues (gauche et droite). Assurez-vous que la constante est nulle puisque/si vous ne voulez aucun espacement.
  5. Sélectionnez la vue de gauche et la vue d'ensemble et réglez la largeur de la même manière (gardez votre patience). Accédez maintenant à l'inspecteur de taille et modifiez également la largeur de la contrainte en laissant la vue gauche sélectionnée. Maintenant, définissez le multiplicateur sur 0,33 (maintenant la largeur en% est définie).

enter image description here

Voir le résultat:

enter image description here

25
user3693546

L'utilisation du storyboard et de la mise en page automatique est très simple: je suppose que vous devez diviser l'écran verticalement (mais horizontalement, c'est la même astuce).

Donc, en utilisant un seul contrôleur de vue, faites glisser et déposez deux vues et fixez-les attachées en haut et en bas. Pour le vue 1:

vue 2:

Maintenant, vous devez définir la contrainte hauteur égale pour la vue 1 parmi la vue principale et la même chose pour la vue 2. Après cela, vous pouvez modifier ces paramètres de contraintes une valeur (entre 0 et 1) comme multiplicateur . Double-cliquez sur la contrainte:

et définissez la valeur que vous souhaitez pour la proportion (l'astuce consiste à maintenir la somme de ces contraintes à 1 ou simplement à mettre "2: 3" ici et "1: 3" dans l'autre vue):

Voici donc le résultat:

J'espère que c'est ce dont vous avez besoin, dites-moi si vous avez besoin de plus de détails!

14
Massimo Polimeni

Vous pouvez utiliser le Equal Widths contrainte comme dans la réponse acceptée, cependant, si ce que vous essayez de contraindre n'est pas deux tailles mais plutôt un point à un autre, comme contraindre une vue horizontal center au point 1/3 ou 2/3 de l'écran, cela ne fonctionnera pas car vous ne pouvez pas contraindre un point dans l'espace à une taille.

Mais si vous savez, dites: view1, dans votre xib va être la pleine largeur de l'écran, puis, par exemple avec le horizontal center point, vous pouvez le contraindre au trailing Edge de cette vue, et si vous souhaitez que la vue soit centrée à 1/3 ou 2/3 de la largeur de l'écran, définissez le multiplicateur sur 1:3 ou 2:3, respectivement.

1
shoe