animation très simple:UIView Animer bloc d'achèvement appelé deux fois avec TRUE
UIView.animate(withDuration: 3, delay: 0, options: .curveLinear, animations: {
self.imageViewA.snp.remakeConstraints({ (make) in
make.bottom.equalTo(50);
})
self.layoutIfNeeded();
}, completion: {(done) in
print(done); //called twice, both times as true
});
animation a bien fonctionné. Cependant, le bloc d'achèvement est appelé deux fois. C'est bien aussi, je comprends que j'ai besoin de vérifier le booléen pour voir si c'est terminé ou non. Eh bien, non seulement le bloc d'achèvement est appelé deux fois, mais les deux temps, fait est vrai.
Comment puis-je savoir si l'animation est réellement terminée ou non?
La cause la plus probable est que l'animation est déclenchée deux fois et donc terminé deux fois. Ajoutez un point d'arrêt au début de ce code et faites-le enregistrer un message puis continuez automatiquement après. – theMikeSwan
@theMikeSwan je dois être fatigué. tu avais raison. Pouvez-vous poster ceci comme réponse pour que je puisse l'accepter – az2902