Wenn Sie .rotationEffect () auf einen Text anwenden, wird der Text wie erwartet gedreht, der Rahmen bleibt jedoch unverändert. Dies wird zu einem Problem, wenn gedrehte Ansichten mit nicht gedrehten Ansichten gestapelt werden, z. B. mit einem VStack von HStack, wodurch sich diese überlappen.
Anfangs dachte ich, der Rotationseffekt würde einfach den Rahmen des Textes so aktualisieren, dass er vertikal ist, aber das ist nicht der Fall.
Ich habe versucht, die Rahmengröße manuell einzustellen und (falls erforderlich, den Text zu versetzen), was funktioniert, aber diese Lösung gefällt mir nicht, da einige Vermutungen und Überprüfungen erforderlich sind, wo der Text angezeigt wird und wie groß er sein soll der Rahmen usw.
Wird rotierter Text nur so ausgeführt, oder gibt es dafür eine elegantere Lösung?
struct TextAloneView: View {
var body: some View {
VStack {
Text("Horizontal text")
Text("Vertical text").rotationEffect(.degrees(-90))
}
}
}