Prima del layout automatico, ho animato l'altezza di uno sfondo in un progetto impostando il riquadro su animateWithDuration
.Animare l'altezza di UIView quando si utilizza il layout automatico con 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)
})
}
Dopo aver convertito il mio progetto di layout automatico, ho notato che l'animazione si verifica, ma l'altezza sfondo scatta di nuovo alla dimensione originale/style (impostazione costruttore di interfaccia) dopo. Ho letto che quando il layout automatico è attivo, i vincoli sovrascrivono impostando le dimensioni UIView
con CGRect
.
Pertanto mi chiedo come ottenere lo stesso effetto di animazione con modifica dell'altezza con Auto-layout ON.
Ah capisco! questo funziona alla grande Molte grazie. – Poyi
omg .. layoutIfNeeded() ha fatto il trucco ... mi mancava –