2016-05-15 12 views
1

Ich versuche, die Höhenänderung für eine Sammlungsansicht zu animieren, aber ich kann nicht herausfinden, wie die Animation funktioniert. Die Höhe ändert sich korrekt, aber es passiert sofort, nicht animiert.Animieren der Höhenänderung der Sammlungsansicht (Swift)

@IBOutlet weak var collectionViewHeight: NSLayoutConstraint! 

UIView.animateWithDuration(0.3, delay: 0, options: .CurveEaseOut, animations: { 
      self.collectionViewHeight.constant = 0 
      } 

Ich habe versucht, nach Lösungen zu suchen, konnte aber nichts speziell für diese Situation finden. Auch versucht layoutIfNeeded() hier vorgeschlagen, aber es hat nicht geholfen: Animate view height with Swift

Jede Hilfe sehr geschätzt!

Antwort

5

Sie sollten die Konstante der Einschränkung außerhalb des Animationsblocks aktualisiert:

self.collectionViewHeight.constant = 0 
UIView.animateWithDuration(0.3, delay: 0, options: .CurveEaseOut, 
    animations: view.layoutIfNeeded, completion: nil) 

(view ist die Super der Sammlung Ansicht in Frage.)

+0

Dank !! Das hat funktioniert! (... self.view.layoutIfNeeded() ...) – hjouhi

Verwandte Themen