0
votes

Comment puis-je ajouter une nouvelle ligne de texte avec UI Swift

J'essaie d'obtenir le texte (PDG) à apparaître directement sous le nom. Quand je l'ajoute, c'est tout sur le fond xxx

alignement vertical


3 commentaires

Vous pouvez déboguer de l'interface utilisateur et vérifier qui prend de l'espace entre "Jobs Steve" et "PDG"


Je suis très nouveau à Swiftui. Comment avez-vous débogué? Il s'agit toujours de la compilation et de la course


Vous pouvez trouver la hiérarchie de la vue par le bouton Tapping spécifié sur la capture d'écran dropbox.com/s/qtkjgb339bay2ks/...


3 Réponses :


0
votes

Voici ma solution mais je ne pense pas que je devrais ajouter un remplissage au sommet

struct ContentView: View {
    var body: some View {
        VStack {
            VStack {
            Spacer(minLength: 35.0)
            Image("employeeID")
                .clipShape(Circle())
                .shadow(radius: 10.0)
                .background(/*@START_MENU_TOKEN@*/Color.red/*@END_MENU_TOKEN@*/)
            }
            .padding(.bottom, 50.0)
            .background(/*@START_MENU_TOKEN@*/Color.red/*@END_MENU_TOKEN@*/)
                .edgesIgnoringSafeArea(.all)
            VStack {
                ZStack (alignment: .top) {
                    Color.white
                    HStack {
                        Text("Jobs")
                        .fontWeight(.heavy)
                        .multilineTextAlignment(.center)
                        .font(.largeTitle)
                        Text("Steve")
                            .fontWeight(.light)
                        .multilineTextAlignment(.center)
                        .font(/*@START_MENU_TOKEN@*/.largeTitle/*@END_MENU_TOKEN@*/)
                    }
                    .padding(.top, 20.0)
                    Text("CEO")
                        .padding(.top, 60.0)
                }
            }
        }

    }
}


0 commentaires

0
votes

Il suffit de les envelopper dans son propre vstack, comme ci-dessous

...
VStack {
    HStack {
        Text("Jobs")
        .fontWeight(.heavy)
        .multilineTextAlignment(.center)
        .font(.largeTitle)
        Text("Steve")
            .fontWeight(.light)
        .multilineTextAlignment(.center)
        .font(/*@START_MENU_TOKEN@*/.largeTitle/*@END_MENU_TOKEN@*/)
    }
    Text("CEO") // << right below name
}
.padding(.top, 20.0) // << padding entire container
...


0 commentaires

0
votes

Le zstack est une vue gourmand ce qui signifie qu'il prend tout l'espace donné et il appuie donc texte ("PDG") au bas de l'écran.

Vous devez placer un vStack à l'intérieur de votre zstack . Il contiendra le htstack que vous avez déjà, texte ("CEO") et ajoutez un spacer () (une autre vue gourmande < / Code>) Pour vous assurer que tout le texte s est poussé vers l'image. Votre zstack devrait ressembler à ceci: xxx

}


0 commentaires