国产探花免费观看_亚洲丰满少妇自慰呻吟_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開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 皮山县| 松原市| 延津县| 承德县| 阿鲁科尔沁旗| 蒙城县| 佛山市| 隆昌县| 普安县| 辛集市| 龙川县| 扬中市| 巴林右旗| 清原| 外汇| 阿勒泰市| 贵州省| 桃园县| 平湖市| 梁山县| 贵阳市| 和田市| 文登市| 尖扎县| 厦门市| 正蓝旗| 洪江市| 马关县| 宣城市| 修水县| 桐梓县| 广河县| 上思县| 丹寨县| 沙坪坝区| 罗源县| 遵义县| 南木林县| 贵溪市| 定日县| 新沂市|