Wie bekomme ich eine UIStackView zu aktualisieren, das layout?

Ich habe eine UIStackView mit 5-Untersichten. Ich möchte in der Lage sein, animieren die Breite dieser Untersichten, die durch die Aktualisierung Ihrer intrinsicContentSize oder Aktualisierung Ihrer Einschränkungen. Wie kann ich machen das stackView Neuzeichnen nach der Aktualisierung der Untersicht layout?

        UIView.animateWithDuration(0.3, animations: {
            viewToResize.compressed = true //changes intrinsicContentSize
            viewToResize.invalidateIntrinsicContentSize()
            self.stackView.layoutIfNeeded() //makes no difference
            anotherSubview.hidden = true //adding this makes everything work
})

Ich habe verschiedene Möglichkeiten versucht, um die stackView zu aktualisieren, aber nichts passiert. Der einzige Weg, ich kann damit es funktioniert ist, wenn ich ein - /ausblenden eine weitere Untersicht im inneren der animation-block, dann das neue layout animiert ist richtig, aber ich will nicht, dies zu tun.

Ich habe gesehen, diese Frage
Animieren UIStackView arrangedSubview Inhalt Größe ändern
aber die vorgeschlagene Antwort nicht funktioniert (nichts belebt).

  • Sie haben versucht, die Ansicht.updateConstraints?
  • Ja, auf der stackView und-Untersichten, man hat auch keinen Effekt.
InformationsquelleAutor James P | 2016-06-08
Schreibe einen Kommentar