Could someone please provide me with an example of animating the opacity of an Image View in swift??
I couldn't even find a good example in objective c
func showCorrectImage(element: AnyObject){
var animation : CABasicAnimation = CABasicAnimation(keyPath: "opacity");
animation.delegate = self
animation.fromValue = NSValue(nonretainedObject: 0.0)
animation.toValue = NSValue(nonretainedObject: 1.0)
animation.duration = 1.0
element.layer?.addAnimation(animation, forKey: nil)
}
I think I have most of this right (not completely sure though), could someone please help me?
element = an Image View
Thanks in advance!~
You can also write it like this:
animation.fromValue = 0.0
animation.toValue = 1.0
The whole code should be like this:
let animation = CABasicAnimation(#keyPath(CALayer.opacity))
animation.fromValue = 0.0
animation.toValue = 1.0
animation.duration = 1.0
animation.timingFunction = CAMediaTimingFunction(name: .easeInEaseOut)
element.layer?.addAnimation(animation, forKey: "fade")
If you need a simple animation, why not just use UIView's animateWithDuration:animations:
method?
imageView.alpha = 0
UIView.animateWithDuration(1.0) {
imageView.alpha = 1
}
You can use this extension method (unless you want to modify the view
's attributes itself):
extension CALayer {
func flash(duration: TimeInterval) -> Observable<Void> {
let flash = CABasicAnimation(keyPath: "opacity")
flash.fromValue = NSNumber(value: 0)
flash.toValue = NSNumber(value: 1)
flash.duration = duration
flash.autoreverses = true
removeAnimation(forKey: "flashAnimation")
add(flash, forKey: "flashAnimation")
opacity = 0 // Change the actual data value in the layer to the final value
}
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With