Je veux ajouter du texte (par exemple, HI) dans une forme (par exemple, une place) à Swiftui et faites-les agir comme un seul objet.
On dirait qu'il n'y a pas de moyen direct d'ajouter du texte en forme à Swiftui.
Voici, imo, approche la plus simple:
Schéma générique
Text(_any_of_text_)
.background(_any_of_Shape)
par exemple:
Text("Hello, World!")
.background(Rectangle().stroke())
Text("Hello, World!")
.background(RoundedRectangle(cornerRadius: 4).stroke())
Voici ce que je considère comme une réponse plus complète. Cela fonctionnera à partir de Xcode 11.5:
Text(question)
.fixedSize(horizontal: false, vertical: true)
.multilineTextAlignment(.center)
.padding()
.frame(width: 300, height: 200)
.background(Rectangle().fill(Color.white).shadow(radius: 3))
Remarques:
Le résultat final de cet exemple est que le texte semble apparaître dans une carte de repère comme forme!
Créez une nouvelle vue Swiftui et utilisez une pile Z pour créer votre objectif.
struct YourCustomObject: View {
var body: some View {
ZStack {
Rectangle()
.fill(Color.secondary)
.frame(width: 200, height: 200)
Text("Your desired text")
.foregroundColor(.white)
}
}
}
Text("Hi")
.frame(width: 40, height: 40, alignment: .center)
.background(Color.black)
.clipShape(Rectangle())