【UIKit-124-6】#import <UIKit/UIView.h>

【关键帧动画】

@interface UIView (UIViewKeyframeAnimations)


//大框架,关键帧动画

+ (void)animateKeyframesWithDuration:(NSTimeInterval)duration delay:(NSTimeInterval)delay options:(UIViewKeyframeAnimationOptions)options animations:(void (^)(void))animations completion:(void (^)(BOOL finished))completion NS_AVAILABLE_IOS(7_0);


//具体的关键帧

+ (void)addKeyframeWithRelativeStartTime:(double)frameStartTime relativeDuration:(double)frameDuration animations:(void (^)(void))animations NS_AVAILABLE_IOS(7_0); 

[UIView animateKeyframesWithDuration:6.f
                                   delay:0.0
                                 options:UIViewKeyframeAnimationOptionCalculationModeCubicPaced
                              animations:^{
                                  
                                  
                                  [UIView addKeyframeWithRelativeStartTime:0.0   // 相对于6秒所开始的时间(第0秒开始动画)
                                                          relativeDuration:1/3.0 // 相对于6秒动画的持续时间(动画持续2秒)
                                                                animations:^{
                                                                    redView.backgroundColor = [UIColor redColor];
                                                                    [redView setFrame:CGRectMake(222, 111, 111, 111)];
                                                                    
                                                                }];
                                  
                                  
                                  
                                  [UIView addKeyframeWithRelativeStartTime:1/3.0 // 相对于6秒所开始的时间(第2秒开始动画)
                                                          relativeDuration:1/3.0 // 相对于6秒动画的持续时间(动画持续2秒)
                                                                animations:^{
                                                                    redView.backgroundColor = [UIColor blueColor];
                                                                    [redView setFrame:CGRectMake(22, 240, 40, 40)];
                                                                
                                                                }];
                                  
                                  
                                  
                                  
                                  [UIView addKeyframeWithRelativeStartTime:2/3.0 // 相对于6秒所开始的时间(第4秒开始动画)
                                                          relativeDuration:1/3.0 // 相对于6秒动画的持续时间(动画持续2秒)
                                                                animations:^{
                                                                    redView.backgroundColor = [UIColor yellowColor];
                                                                    [redView setFrame:CGRectMake(280, 333, 80, 80)];
                                                                
                                                                }];
                                  
                              }
     
     
     
                              completion:^(BOOL finished) {

                                  NSLog(@"ok");
                              
                              }];



关键帧参数

 typedef NS_OPTIONS(NSUInteger, UIViewKeyframeAnimationOptions) {
     UIViewKeyframeAnimationOptionLayoutSubviews            = UIViewAnimationOptionLayoutSubviews,
     UIViewKeyframeAnimationOptionAllowUserInteraction      = UIViewAnimationOptionAllowUserInteraction, // turn on user interaction while animating
     UIViewKeyframeAnimationOptionBeginFromCurrentState     = UIViewAnimationOptionBeginFromCurrentState, // start all views from current value, not initial value
     UIViewKeyframeAnimationOptionRepeat                    = UIViewAnimationOptionRepeat, // repeat animation indefinitely
     UIViewKeyframeAnimationOptionAutoreverse               = UIViewAnimationOptionAutoreverse, // if repeat, run animation back and forth
     UIViewKeyframeAnimationOptionOverrideInheritedDuration = UIViewAnimationOptionOverrideInheritedDuration, // ignore nested duration
     UIViewKeyframeAnimationOptionOverrideInheritedOptions  = UIViewAnimationOptionOverrideInheritedOptions, // do not inherit any options or animation type
     
     UIViewKeyframeAnimationOptionCalculationModeLinear     = 0 << 10, // default
     UIViewKeyframeAnimationOptionCalculationModeDiscrete   = 1 << 10,
     UIViewKeyframeAnimationOptionCalculationModePaced      = 2 << 10,
     UIViewKeyframeAnimationOptionCalculationModeCubic      = 3 << 10,
     UIViewKeyframeAnimationOptionCalculationModeCubicPaced = 4 << 10
 } NS_ENUM_AVAILABLE_IOS(7_0);
 

 */




@end


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值