Blog_UIViewAnimationSyntaxSugar
Blog_UIViewAnimationSyntaxSugar copied to clipboard
Swift: UIView Animation Syntax Sugar
Because closures make ugly couples
If you hadn’t already heard, closures are a great tool to utilise in your Swift code. They’re first-class citizens, they can become trailing closures if they’re at the end of an API and now they’re @noescape by default which is a massive win in the fight against reference cycles.
But every once in a while we have to work with APIs that contain more than one closure, which turns this beautiful language feature into something far less appealing. I’m looking at you, UIView
.
Read the full article here
--
###tl;dr ####Turn this
UIView.animate(withDuration: 0.4, animations: {
view.frame.size.height = 100
view.frame.size.width = 100
}) { finished in
view.backgroundColor = .black
}
####Into this
UIView.Animator(duration: 0.3)
.animations {
view.frame.size.height = 100
view.frame.size.width = 100
}
.completion { finished in
view.backgroundColor = .black
}
.animate()