CALayer顏色動(dòng)畫轉(zhuǎn)場(chǎng)效果,提高用戶體驗(yàn)

自從來(lái)到簡(jiǎn)書,開(kāi)始了自己的創(chuàng)作,學(xué)會(huì)了與人分享:

分享使人快樂(lè)

自己在分享的同時(shí)也會(huì)不斷的注意到別人的分享,不經(jīng)意間,就有了對(duì)比,發(fā)現(xiàn)了自己的不足,于是你就萌生了【要進(jìn)步】的想法。其實(shí)當(dāng)你有了這種想法的時(shí)候,它本身就是一種進(jìn)步。可能在這之后,你會(huì)有一系列的計(jì)劃(每天自學(xué)點(diǎn)xxx,每天堅(jiān)持鍛煉。。。。。),但是計(jì)劃永遠(yuǎn)只是計(jì)劃,【實(shí)踐】才是你最最需要的。

說(shuō)了一通,好像和正題沒(méi)什么關(guān)系。-

好吧,先來(lái)看看看效果圖:

2017-06-27 09_29_47.gif

其實(shí),非常簡(jiǎn)單的,只要添加該方法:

/*  關(guān)鍵  */
-(void)addClickEffectForView:(UIView *)view withClickPointInSuperView:(CGPoint)point withEffectColor:(UIColor *)color removeWhenFinished:(BOOL)isRemove {
view.layer.masksToBounds = YES;
//創(chuàng)建layer
CALayer *clickEffectLayer = [CALayer layer];
CGFloat radius = sqrtf((powf(view.frame.size.width, 2) + powf(view.frame.size.height, 2)));//擴(kuò)散圓的半徑

clickEffectLayer.frame = CGRectMake(0, 0, radius * 2, radius * 2);
clickEffectLayer.cornerRadius = radius;
clickEffectLayer.position = point;
clickEffectLayer.backgroundColor = color.CGColor;
[view.layer insertSublayer:clickEffectLayer atIndex:0];//將layer放在底層

//尺寸比例動(dòng)畫
CABasicAnimation *scaleAnimation = [CABasicAnimation animationWithKeyPath:@"transform.scale.xy"];
scaleAnimation.fromValue = @0.1;//開(kāi)始的大小
scaleAnimation.toValue = @1.0;//最后的大小
scaleAnimation.duration = 0.5;//動(dòng)畫持續(xù)時(shí)間
[clickEffectLayer addAnimation:scaleAnimation forKey:@"pulse"];
//完成動(dòng)畫是否移除
if (isRemove) {
    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
        [clickEffectLayer removeFromSuperlayer];
    });
}
}

想要demo的朋友:
github:https://github.com/SeriouslyFunny/HSFColorTransitions

如果你覺(jué)得還可以的話,留下你珍貴的star , 你的支持是我前進(jìn)的最大動(dòng)力。謝謝^^

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,368評(píng)論 25 708
  • 框架:提供一定能力的小段程序 http://www.cnblogs.com/jincheng-yangchaofa...
    姑娘請(qǐng)別為難小僧閱讀 7,327評(píng)論 0 132
  • 一.榜單介紹 排行榜包括四大類: 單一框架:僅提供路由、網(wǎng)絡(luò)層、UI層、通信層或其他單一功能的框架 混合開(kāi)發(fā)框架:...
    偉子男閱讀 5,267評(píng)論 0 161
  • 附上原文作者連接:作者:金誠(chéng) 一.榜單介紹 排行榜包括四大類: 單一框架:僅提供路由、網(wǎng)絡(luò)層、UI層、通信層或其他...
    這個(gè)美嘉不姓陳閱讀 2,278評(píng)論 1 35
  • 2017.11.7今日立冬 北京開(kāi)始試供暖,不用在屋里凍的哆哆嗦嗦了。簡(jiǎn)直是用頑強(qiáng)的毅(脂)力(肪)熬過(guò)了由秋轉(zhuǎn)冬...
    little_雨閱讀 222評(píng)論 0 0