Swift 3 UIView animation
Depuis la mise à jour de mon projet swift 3 ma mise en page automatique contrainte animations ne fonctionnent pas; pour être plus précis, ils sont l'accrochage à la nouvelle position plutôt que de l'animation.
UIView.animate(withDuration: 0.1,
delay: 0.1,
options: UIViewAnimationOptions.curveEaseIn,
animations: { () -> Void in
constraint.constant = ButtonAnimationValues.YPosition.DefaultOut()
self.layoutIfNeeded()
}, completion: { (finished) -> Void in
//....
})
Je sais qu'ils ont ajouté la UIViewPropertyAnimator
classe mais je suis encore à essayer.
J'ai été la recherche d'une solution au sujet de cette dernièrement. Beaucoup ont le même problème, et je ne pouvais pas le faire fonctionner, même avec la nouvelle UIViewPropertyAnimator. C'est peut-être à résoudre un bug dans iOS 10.
Avez-vous essayez de définir la constante avant de l'animer appel?
Oui déjà essayé.
Toujours pas de réponse définitive quant à pourquoi cela ne fonctionne pas, le code fonctionne très bien dans le iOS9 sim. Pour l'instant j'ai mis
Avez-vous essayez de définir la constante avant de l'animer appel?
Oui déjà essayé.
Toujours pas de réponse définitive quant à pourquoi cela ne fonctionne pas, le code fonctionne très bien dans le iOS9 sim. Pour l'instant j'ai mis
self.translatesAutoresizingMaskIntoConstraints = true
sur mon point de vue et je suis d'animer l'origine.OriginalL'auteur Alex Brown | 2016-09-14
Vous devez vous connecter pour publier un commentaire.
J'ai eu ce problème aussi avec la nouvelle mise à jour de swift 3.
Pour être exact, à chaque fois que vous souhaitez animer le point de vue, vous avez fait appel layoutIfNeeded sur le superview de ce point de vue.
Essayez plutôt ceci:
Il semble que dans le passé ils ont été clémente sur d'être capable de simplement nouvelle disposition de la vue que vous souhaitez animer. Mais sa dans la documentation que vous devriez vraiment être l'appel de layoutIfNeeded dans le superview.
S'il vous plaît essayez ce code, son travail pour moi. UIView.animer(withDuration: 1, delay: 0, options: .curveEaseInOut , animations: { self.bottomViewTopConstraint.constante = 0.0 auto.bottomView.superview?.layoutIfNeeded() }, fin: néant)
Wow merci. Grande correction, et une drôle de question.
OriginalL'auteur
De mise à niveau de swift 3.0
Vue de droite à gauche animation comme apple par défaut push animation
OriginalL'auteur
D'abord définir la nouvelle valeur pour votre contrainte et appelez ensuite les animer.
OriginalL'auteur
Swift 3.1 , Xcode 8.3.2
Ce code fonctionne bien pour moi. Toute modification sur la vue s'animer dans le mouvement lent.
OriginalL'auteur