Swift UIView animateWithDuration achèvement de la fermeture, appelé immédiatement

J'attends la fin de la fermeture sur cette UIView d'animation à être appelée après la durée spécifiée, toutefois, il semble être de tir immédiatement...

 UIView.animateWithDuration(
        Double(0.2),
        animations: {
            self.frame = CGRectMake(0, -self.bounds.height, self.bounds.width, self.bounds.height)
        },
        completion: { finished in
            if(finished) {
                self.removeFromSuperview()
            }
        }
    )

Quelqu'un d'autre a vécu cette situation? J'ai lu que d'autres ont eu plus de succès en utilisant le centre plutôt que sur l'image pour déplacer la vue, cependant, j'ai eu les mêmes problèmes avec cette méthode.

Où voulez-vous exécuter ce code?
Assurez-vous que l'image en fait, modifications, en raison de l'achèvement de bloc est appelé immédiatement quand il n'y a pas d'animation.
Coutumier de la classe UIView. J'anime la vue dans le lieu de commencer avec dans init(), puis le code ci-dessus est appelée lorsqu'un robinet se produit n'importe où. Le cadre est bien en train de changer aussi...
Juste pour ajouter que la même chose se produit également avec différentes animations. par exemple, changement de l'alpha de la vue.

OriginalL'auteur David Wadge | 2014-09-02