欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時間:2017年04月13日 11:36:48   作者:Caiflower  
本篇文章主要介紹了iOS仿小紅書呼吸燈動畫(核心動畫和定時器)兩種方式實(shí)現(xiàn),非常具有實(shí)用價值,需要的朋友可以參考下

最近公司需求做個類似小紅書的標(biāo)簽呼吸燈動畫,經(jīng)過一段時間研究使用兩種方式實(shí)現(xiàn)了該效果...

第一種方式使用定時器加 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;
    // 創(chuàng)建動畫組
    _groups =[CAAnimationGroup animation];
    _groups.animations = @[scaleAnim,opacityAnim];
    _groups.removedOnCompletion = NO;
    _groups.fillMode = kCAFillModeForwards;
    _groups.duration = 2;
    _groups.repeatCount = FLT_MAX;
  }
  return _groups;
}

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

github項(xiàng)目地址:https://github.com/Caiflower/XXTwinkleView.git

demo下載:XXTwinkleView_jb51.rar

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論