zoukankan      html  css  js  c++  java
  • iOS7中UIView的animateKeyframesWithDuration方法讲解

    iOS7中UIView的animateKeyframesWithDuration方法讲解

    在iOS7中,给UIView添加了一个方法用来直接使用关键帧动画而不用借助CoreAnimation来实现,那就是animateKeyframesWithDuration

    以下是使用源码:

    //
    //  ViewController.m
    //
    //  Created by YouXianMing on 14/11/26.
    //  Copyright (c) 2014年 YouXianMing. All rights reserved.
    //
    
    #import "ViewController.h"
    
    @implementation ViewController
    
    - (void)viewDidLoad {
        [super viewDidLoad];
        [self runAnimateKeyframes];
    }
    
    - (void)runAnimateKeyframes {
        
        /**
         *  relativeDuration  动画在什么时候开始
         *  relativeStartTime 动画所持续的时间
         */
        
        [UIView animateKeyframesWithDuration:6.f
                                       delay:0.0
                                     options:UIViewKeyframeAnimationOptionCalculationModeLinear
                                  animations:^{
                                      [UIView addKeyframeWithRelativeStartTime:0.0   // 相对于6秒所开始的时间(第0秒开始动画)
                                                              relativeDuration:1/3.0 // 相对于6秒动画的持续时间(动画持续2秒)
                                                                    animations:^{
                                                                        self.view.backgroundColor = [UIColor redColor];
                                                                    }];
                                      
                                      [UIView addKeyframeWithRelativeStartTime:1/3.0 // 相对于6秒所开始的时间(第2秒开始动画)
                                                              relativeDuration:1/3.0 // 相对于6秒动画的持续时间(动画持续2秒)
                                                                    animations:^{
                                                                        self.view.backgroundColor = [UIColor yellowColor];
                                                                    }];
                                      [UIView addKeyframeWithRelativeStartTime:2/3.0 // 相对于6秒所开始的时间(第4秒开始动画)
                                                              relativeDuration:1/3.0 // 相对于6秒动画的持续时间(动画持续2秒)
                                                                    animations:^{
                                                                        self.view.backgroundColor = [UIColor greenColor];                                                                }];
                                      
                                  }
                                  completion:^(BOOL finished) {
                                      [self runAnimateKeyframes];
                                  }];
    }
    
    @end

    细节之处:

  • 相关阅读:
    Windows Driver Mode 1
    一个程序员的奋斗经历 2
    JavaScript判断文件是否存在
    流程图个图标详解
    wget for windows
    软件的开发周期
    Firefox支持activex的插件
    第二次作业
    C/C++字符串使用整理
    c#学习小记录(1)
  • 原文地址:https://www.cnblogs.com/YouXianMing/p/4311997.html
Copyright © 2011-2022 走看看