web-dev-qa-db-fra.com

UIView.animate - Swift 3 - achèvement

Comment créer un bloc de complétion simple dans Swift 3?

Je veux mettre self.isOpen = true dans la fin de l'animation:

            UIView.animate(withDuration: 0.25, delay: 0.0, options: [], animations: {
                self.isOpen = true
                self.drawerView?.frame = CGRect(x: 0, y: 0, width: (self.drawerView?.frame.size.width)!, height: (self.drawerView?.frame.size.height)!)
                self.contentView?.frame = CGRect(x: 200, y: 0, width: (self.contentView?.frame.size.width)!, height: (self.contentView?.frame.size.height)!)
            }, completion: nil)

En passant:

Il est pratiquement impossible d'apprendre Swift 3 atm en raison de RIEN sur Internet qui marche :(


J'ai également cherché dans tout le document jusqu'à la moindre mention du mot "animate" et je n'ai rien trouvé:

https://developer.Apple.com/library/content/documentation/Swift/Conceptual/Swift_Programming_Language/index.html#//Apple_ref/doc/uid/TP40014097-CH3-ID

26
Chris Allinson

Vous l'ajoutez comme ceci:

UIView.animate(withDuration: 0.25, delay: 0.0, options: [], animations: {
    self.drawerView?.frame = CGRect(x: 0, y: 0, width: (self.drawerView?.frame.size.width)!, height: (self.drawerView?.frame.size.height)!)
    self.contentView?.frame = CGRect(x: 200, y: 0, width: (self.contentView?.frame.size.width)!, height: (self.contentView?.frame.size.height)!)
}, completion: { (finished: Bool) in
    self.isOpen = true
})
85
rmaddy