Ich versuche, eine Einschränkung zu animieren, aber es scheint, die gesamte Ansicht zu beeinflussen. Hier ist der Code, den ich verwende, um die Einschränkung zu animieren.Versuch, eine NSLayoutConstraint mit Swift 3 zu animieren
@IBOutlet weak var personHeight: NSLayoutConstraint!
func animateBackgroundHeight() {
print("animate")
UIView.animate(withDuration: 5.0, animations: {
self.personHeight.constant = 19 // personHeight is the IBOutlet to the constraint
self.view.layoutIfNeeded()
})
}
Alles in der Ansicht bewegt, wenn die Animation los ist, aber ich bin mir nicht sicher, warum. Was ich animieren möchte, ist die Höhe der Ansicht, aber nicht das TextField oder die Schaltfläche. Stellen Sie sich GreyView als Hintergrundelement des TextFields vor.
Hier ist ein Bild, das Ihnen zu zeigen, die ich Constraint (grün)
Rosa Box stellt die übergeordnete Ansicht zu animieren versuchen. Grey Box ist die Ansicht, die ich versuche, die Höhe von zu animieren. Das TextField und die Schaltfläche befinden sich über dem Gray-Box-Objekt.
Das Problem ist entweder (a) Sie haben Einschränkungen zwischen der animierten Ansicht und den anderen Ansichten, die sich bewegen; (b) Sie haben mehrdeutige Einschränkungen; oder (c) Sie haben etwas Verwirrung in Bezug auf die vorhandenen Einschränkungen (z. B. Scroll-Ansichten sind häufige Quelle der Verwirrung, a la [TN2154] (https://developer.apple.com/library/ios/technotes/tn2154/_index.html)). Aber hier ist nicht genug, um das Problem zu diagnostizieren. Und anstatt mehr Details zu liefern, destillieren Sie dies weiter zu [MCVE] (http://stackoverflow.com/help/mcve) mit genügend Details, die uns erlauben, das Problem zu reproduzieren. – Rob
@Rob, gab die Frage eine Bearbeitung, ich hoffe, es ist prägnanter. – icekomo