iOS7中UIView的animateKeyframesWithDuration方法讲解

来源:互联网 发布:雷达炒股软件 编辑:程序博客网 时间:2024/06/05 15:05

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
复制代码

细节之处:


1 0
原创粉丝点击