web-dev-qa-db-fra.com

Espace de coordonnées SwiftUI

Est-ce que quelqu'un sait comment le rendu de SwiftUI en termes d'espace de coordonnées? Il ne semble pas que l'origine du cadre soit maintenant au 0, 0 dans le coin supérieur gauche. Par exemple, l'ajout d'un Text avec un modificateur compenserait l'étiquette à l'extérieur d'une vue.

var body: some View {
    Text("my long enough string")
      .position(CGPoint(x: 0, y: 100))
}

Le résultat est que je ne peux voir que "ugh string".

5
inokey

L'espace de coordonnées sur iOS a 0, 0 dans le coin supérieur gauche. Votre texte est tronqué car l'attribut position: "Corrige le centre de cette vue au point spécifié dans l'espace de coordonnées de son parent."

1
marcprux

Selon la documentation de la fonction position(x:y:) :

  • x: coordonnée x à laquelle placer le centre de cette vue.
  • y: coordonnée y à laquelle placer le centre de cette vue.

Cela fixera le centre de votre texte au centre de la vue d'ensemble.

Vous pouvez également utiliser la fonction padding() :

Text("my long enough string").padding(.top, 20)
1
Rohit Makwana

Vous pouvez utiliser le "rembourrage" au lieu de la position.

Text("Hello World").padding(EdgeInsets.init(top: 100, leading: 0, bottom: 0, trailing: 0))
0
Markicevic

Vous pouvez également utiliser le .offset modificateur pour décaler la vue par rapport au coin supérieur gauche. Si vous l'utilisez, sachez simplement que les effets peuvent être radicalement différents en fonction de l'ordre des modificateurs.

0
Helam