• 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

    细节之处:

  • 相关阅读:
    Mstsc 微软远程桌面控制工具
    session
    防止重复提交表单
    nginx日志格式及自定义日志配置
    代码审核:安全性测试方案
    代码审计:安全性测试方案
    Word转换为Html (用处:生成一些注册协议之类的)
    技术人员的发展之路 (转载)
    phpcms 杂记
    ThinkPHP 日志
  • 原文地址:https://www.cnblogs.com/YouXianMing/p/4311997.html
Copyright © 2020-2023  润新知