0
votes

Changer la largeur de texte sans augmenter la largeur de la pile

 Entrez la description de l'image ici xxx

Comment puis-je afficher le texte de sa longueur sans changer la largeur du vstack et donc la distance entre les carrés .

Il devrait ressembler à ceci:

< img src = "https://i.stack.imgur.com/6gmgz.png" alt = "devrait ressembler à ceci">


0 commentaires

3 Réponses :


0
votes

Pas clair ce que vous demandez ici, mais avez-vous essayé quelque chose comme ceci:

let months = ["january" , "february", "march", "april", "may", "june", "july", "august", "september", "october", "november", "december"]

var body: some View {
    ScrollView (.horizontal, showsIndicators: false) {
        HStack {
            ForEach(months, id: \.self) { month in
                VStack {
                    Text(month).fixedSize()  // <--- this
                    Rectangle().frame(width: 25, height: 10)
                }
            }
        }
    }
}


1 commentaires

J'ai mis à jour mon message avec une photo montrant avec comment il devrait ressembler



0
votes

OK, que diriez-vous de ce piratage alors:

let months = ["january" , "february", "march", "april", "may", "june", "july", "august", "september", "october", "november", "december"]
@State var chosenMonth = ""

var body: some View {
    VStack {
        HStack {
            Spacer()
            Text(chosenMonth)
            Spacer()
        }
        HStack {
            ForEach(self.months, id: \.self) { month in
                Rectangle().frame(width: 25, height: 10).onAppear(perform: {
                    if month == "october" {
                        self.chosenMonth = month
                    }
                })
            }
        }
    }
}


0 commentaires

0
votes

Voici une approche possible basée sur les guides d'alignement. Testé avec Xcode 11.4 / iOS 13.4

L'idée est d'utiliser des barres et du texte sur différentes couches et de les aligner à l'aide d'un guide d'alignement personnalisé, avec la manipulation des boîtiers de coin pour ne pas autoriser le texte hors de l'écran.

< un href = "https://i.stack.imgur.com/svepa.png" rel = "nofollow noreferrer"> démo xxx


0 commentaires