国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > iOS > 正文

iOS仿小紅書呼吸燈動畫(核心動畫和定時器)兩種方式實現

2019-10-21 18:47:07
字體:
來源:轉載
供稿:網友

最近公司需求做個類似小紅書的標簽呼吸燈動畫,經過一段時間研究使用兩種方式實現了該效果...

ios呼吸燈動畫效果,ios呼吸燈

第一種方式使用定時器加 UIView動畫,核心方法如下

-(void)begigFlashAnimation {  // 縮放 + 透明度動畫  self.flashView.transform = CGAffineTransformMakeScale(0.1, 0.1);  [UIView animateWithDuration:3 animations:^{    self.flashView.transform = CGAffineTransformMakeScale(1,1);    self.flashView.alpha = 1.0;    [UIView beginAnimations:@"flash" context:nil];    [UIView setAnimationDuration:2];    [UIView setAnimationCurve:UIViewAnimationCurveLinear];    self.flashView.alpha = 0;    [UIView commitAnimations];  }];}

第二種方式使用核心動畫的動畫組,核心方法如下

- (CAAnimationGroup *)groups {  if (!_groups) {    // 縮放動畫    CABasicAnimation * scaleAnim = [CABasicAnimation animation];    scaleAnim.keyPath = @"transform.scale";    scaleAnim.fromValue = @0.1;    scaleAnim.toValue = @1;    scaleAnim.duration = 2;    // 透明度動畫    CABasicAnimation *opacityAnim=[CABasicAnimation animationWithKeyPath:@"opacity"];    opacityAnim.fromValue= @1;    opacityAnim.toValue= @0.1;    opacityAnim.duration= 2;    // 創建動畫組    _groups =[CAAnimationGroup animation];    _groups.animations = @[scaleAnim,opacityAnim];    _groups.removedOnCompletion = NO;    _groups.fillMode = kCAFillModeForwards;    _groups.duration = 2;    _groups.repeatCount = FLT_MAX;  }  return _groups;}

對比兩種方法,第一種方法需要使用定時器,第二個則不需要,不知道這樣是否第二個性能性對來說會好點呢?

github項目地址:https://github.com/Caiflower/XXTwinkleView.git

demo下載:XXTwinkleView.rar

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


注:相關教程知識閱讀請移步到IOS開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 红河县| 上犹县| 海阳市| 安宁市| 新绛县| 开阳县| 富裕县| 屏南县| 临漳县| 雅安市| 阳泉市| 南涧| 阿拉善右旗| 绩溪县| 临汾市| 抚远县| 高唐县| 额济纳旗| 延津县| 平远县| 宜君县| 新沂市| 鄂伦春自治旗| 栾川县| 思南县| 乐山市| 老河口市| 洪湖市| 九龙城区| 化隆| 衡山县| 弥渡县| 汪清县| 株洲市| 潮安县| 永昌县| 汶川县| 浪卡子县| 西和县| 鄯善县| 西安市|