當(dāng)ios遇上css3動(dòng)畫系列(3) --ios動(dòng)畫之pulse脈沖

這次演示的效果是脈沖效果,像是心臟跳動(dòng)的效果

看下css3動(dòng)畫的代碼

@-webkit-keyframes pulse {
  0% {
    -webkit-transform: scale3d(1, 1, 1);
            transform: scale3d(1, 1, 1);
  }

  50% {
    -webkit-transform: scale3d(1.25, 1.25, 1.25);
            transform: scale3d(1.25, 1.25, 1.25);
  }

  100% {
    -webkit-transform: scale3d(1, 1, 1);
            transform: scale3d(1, 1, 1);
  }
}

其實(shí)很簡(jiǎn)單,就是在50%的時(shí)候放大了而已。

所以ios代碼也很簡(jiǎn)單了

- (void)pulse{

    CAKeyframeAnimation* keyAnim = [CAKeyframeAnimation animationWithKeyPath:@"transform"];
    CATransform3D transform3D_1 = CATransform3DMakeScale(1.0, 1.0, 1.0);
    CATransform3D transform3D_2 = CATransform3DMakeScale(1.25, 1.25, 1.25);

    NSMutableArray *transform3Ds = [NSMutableArray array];
    [transform3Ds addObject:[self getValueWithCATransform3D:transform3D_1]];
    [transform3Ds addObject:[self getValueWithCATransform3D:transform3D_2]];
    [transform3Ds addObject:[self getValueWithCATransform3D:transform3D_1]];
    [keyAnim setValues:transform3Ds];
    
    
    NSMutableArray *keyTimes = [NSMutableArray array];
    [keyTimes addObject:[self getNumberWithFloat:0]];
    [keyTimes addObject:[self getNumberWithFloat:0.5]];
    [keyTimes addObject:[self getNumberWithFloat:1.0]];
    [keyAnim setKeyTimes:keyTimes];
    [keyAnim setDuration:1.0];
    [keyAnim setRepeatCount:HUGE_VAL];
    [keyAnim setFillMode:kCAFillModeBoth];
    [self.TextTest.layer addAnimation:keyAnim forKey:nil];        
}

gif的效果圖


最后編輯于
?著作權(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)容