2016-06-07 8 views
1

Ich habe zwei Subviews in Viewcontroller, die einer nach dem anderen (zu Anfang der zweiten verbundenen Boden der ersten) angeordnetWarum ändern sich nicht alle NSLayout-Abhängigkeiten mit Animation und wie kann man sie beheben?

ersten Blick ändert seine Höhe (Beispiel unten) animiert, so erwartete ich, dass die zweite Ansicht mit Animation absteigen wird auch, aber es ist nicht ..

Wie macht man alles animiert?

Animationsblock für den ersten Blick

func animate(){ 
    layoutIfNeeded() 
    UIView.animateWithDuration(1){ 
     self.labelHeight.constant = 70 // this is constraint 
     self.layoutIfNeeded() 
     } 
} 

enter image description here

Antwort

2

Constraints zwischen Geschwister Blick auf ihre gemeinsame super Blick hinzugefügt werden, so dass Sie layoutIfNeeded() auf ihn nennen sollte. Zum Beispiel:

func animate(){ 
    self.superview?.layoutIfNeeded() 
    UIView.animateWithDuration(1){ 
     self.labelHeight.constant = 70 // this is constraint 
     self.superview?.layoutIfNeeded() 
     } 
} 
+0

funktioniert perfekt !! schön –

+0

Ehrfürchtig und Genie! Danken) – KostiaZzz