UITextfield Textposition nicht animiert, während die Breitenbeschränkung animiert ist

Ich habe drei UITextField in einem Container ausgerichtet, um ein Datum auszuwählen.

Zuerst wird nur das Textfeld "Monat" im Container angezeigt und nimmt die volle Breite an. Wenn der Benutzer den Monat auswählt, wird das Textfeld "Tag" angezeigt und beide nehmen die Hälfte des Containers ein.

Die Textausrichtung in diesen Textfeldern ist zentriert.

Mein Problem ist, dass, wenn ich ihre Größe animiere, Der Text wird nicht animiert und springt direkt zur Endposition, während die Breite der Textfelder korrekt animiert wird..

Schritt 1: Das TextField vor der Animation

Schritt 2: Die TexField-Breite ist animierend, aber der Text befindet sich bereits an der endgültigen Position

Schritt 3: Die TexField-Animation abgeschlossen

Mein Code zum Animieren der Einschränkung:

monthTextfieldTrailingConstraint.priority = currentDateSelectionType == .month ? UILayoutPriorityDefaultHigh : UILayoutPriorityDefaultLow
dayTextfieldTrailingConstraint.priority = currentDateSelectionType == .day ? UILayoutPriorityDefaultHigh : UILayoutPriorityDefaultLow
yearTextfieldTrailingConstraint.priority = currentDateSelectionType == .year ? UILayoutPriorityDefaultHigh : UILayoutPriorityDefaultLow

UIView.animate(withDuration: nextStepAnimationDuration) {
    self.layoutIfNeeded()
}

Antworten auf die Frage(2)

Ihre Antwort auf die Frage