iOS開發筆記-45:swift5 呼吸燈效果 OC舊代碼

更新swift方法:

//呼吸燈
    func AlphaLight(time: CGFloat) -> CABasicAnimation {
        let animation = CABasicAnimation.init(keyPath: "opacity")
        animation.fromValue = 1
        animation.toValue = 0
        animation.autoreverses = true
        animation.duration = CFTimeInterval(time)
        animation.repeatCount = 1000
        animation.isRemovedOnCompletion = false
        animation.fillMode = .forwards
        animation.timingFunction = CAMediaTimingFunction.init(name: .easeIn)
        return animation
    }
//增加呼吸效果
tipL.layer.add( AlphaLight(time: 1), forKey: "aAlpha")
//去除呼吸效果
pL.layer.removeAnimation(forKey: "aAlpha")

以前oc方法
頭文件#import <QuartzCore/QuartzCore.h>

+(CABasicAnimation *) AlphaLight:(float)time
{
    CABasicAnimation *animation =[CABasicAnimation animationWithKeyPath:@"opacity"];
    animation.fromValue = [NSNumber numberWithFloat:1.0f];
    animation.toValue = [NSNumber numberWithFloat:0.0f];//這是透明度。
    animation.autoreverses = YES;
    animation.duration = time;//動畫循環的時間,也就是呼吸燈效果的速度
    animation.repeatCount = MAXFLOAT;
    animation.removedOnCompletion = NO;
    animation.fillMode = kCAFillModeForwards;
    animation.timingFunction=[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseIn];
    
    return animation;
}
//給指定元件添加動效:[yourUIView.layer addAnimation:[self AlphaLight:0.5] forKey:@"aAlpha"];
//移除動畫:[_myView.layer removeAnimationForKey:@"aAlpha"];

原文地址:[http://v2it.win/ios/ios%E4%BC%9A%E5%91%BC%E5%90%B8%E7%9A%84%E5%8A%A8%E7%94%BB/](http://v2it.win/ios/ios%E4%BC%9A%E5%91%BC%E5%90%B8%E7%9A%84%E5%8A%A8%E7%94%BB/)

相關推薦(動畫效果):http://blog.jobbole.com/69111/
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容