Vor dem automatischen Layout habe ich die Höhe eines Hintergrunds in einem Projekt animiert, indem ich den Rahmen auf animateWithDuration
gestellt habe.Animieren der UIView-Höhe bei Verwendung des automatischen Layouts mit swift
func setUpBackground() {
self.backgroundView.frame = CGRect(x: 0, y: 0, width: 320, height: 10)
self.backgroundView.backgroundColor = UIColorFromRGB(0x2d2d2d).CGColor
}
func AnimateBackgroundHeight() {
UIView.animateWithDuration(0.5, animations: {
self.backgroundView.frame = CGRect(x: 0, y: 0, width: 320, height: 600)
})
}
Nachdem ich mein Projekt Auto-Layout konvertiert, bemerkte ich, dass die Animation stattfindet, aber die Hintergrund Höhe nach auf die ursprüngliche Größe/Stil (Interface Builder Einstellung) zurückschnappt. Ich habe gelesen, dass bei aktiviertem Auto-Layout die Einschränkungen überschrieben werden, indem die UIView
Dimensionen mit CGRect
festgelegt werden.
Daher frage ich mich, wie man den gleichen Höhenänderungseffekt mit Auto-Layout ON erreichen kann.
Ah ich sehe! das funktioniert super. Danke vielmals. – Poyi
omg .. layoutIfNeeded() hat den Trick gemacht ... ich habe es vermisst –