Swift心跳动画

实现心跳动画、就是将视图放大缩小的效果

一、通过Timer或者

DispatchSource.makeTimerSource(flags: [], queue: DispatchQueue.global())

或者 CADisplayLink 去写个定时器咯、然后@selector(handle:)事件里边执行

UIView.animate(withDuration: 1.0, animations: {

}) { (finished:Bool) in

}

动画、将要心跳的视图的frame放大缩小。

二、通过QuartzCore库的CABasicAnimation即可。

/// 心跳动画
/// - Parameters:
///   - layer: 传入要动画视图的layer
///   - scale: 心跳视图跳动的尺寸比例
///   - duration: 由大到小持续时间
/// 调用方式:self.heartAnimation(layer: self.headImgView.layer,scale: 0.8,duration: 1)
func heartAnimation(layer:CALayer,scale:CGFloat,duration:CFTimeInterval){
    let animation:CABasicAnimation = CABasicAnimation()
    animation.keyPath = "transform.scale"
    animation.toValue = scale
    animation.repeatCount = MAXFLOAT
    animation.duration = duration
    animation.autoreverses = true
    layer.add(animation, forKey: nil)
}

 

你可能感兴趣的:(Swift开发)