129 votes

Le texte n'est pas enveloppé dans une interface utilisateur rapide

Même après avoir défini le .lineLimit(nil) le texte n'est pas enveloppé.

 var body: some View {
    VStack(alignment: .center) {
        Text("SwiftUI is a modern way to declare user interfaces for any Apple platform. ")
            .font(.title)
            .color(.red)
            .lineLimit(nil)
        Text("Create beautiful, dynamic apps faster than ever before.")
            .font(.system(size: 20))
            .lineLimit(nil)
    }.padding(EdgeInsets(top: 0, leading: 10, bottom: 0, trailing: 10))
}

entrez la description de l'image ici

338voto

Sharpienero Points 1441

Après avoir passé beaucoup de temps avec une erreur comme celle-ci, je ne peux pas être sûr à 100% qu'il s'agit d'un problème de lineLimit. Au moment d'écrire cet article, la solution que j'ai trouvée avec des vues plus complexes est l'extrait de code suivant pour empêcher l'emballage :

.fixedSize(horizontal: false, vertical: true)

Cela devrait empêcher l'interpréteur de réduire le texte verticalement.

J'espère que ça aidera quelqu'un.

32voto

MohammadRF Points 1458

Essayez de changer le lineLimit du deuxième texte en un nombre au lieu de nil :

 VStack(alignment: .leading) {
  Text("SwiftUI is a modern way to declare user interfaces for any Apple platform. ")
    .font(.title)
    .color(.red)
    .lineLimit(nil)
  Text("Create beautiful, dynamic apps faster than ever before.")
    .font(.system(size: 20))
    .lineLimit(2)
 }.padding(EdgeInsets(top: 0, leading: 10, bottom: 0, trailing: 10))

Résultat:

entrez la description de l'image ici

13voto

Matteo Pacini Points 2704

Il semble que le font contienne les attributs de retour à la ligne.

Si vous le remplacez par body , alors il se termine correctement !

entrez la description de l'image ici

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X