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

来源:互联网 发布:趣头条刷金币软件 编辑:程序博客网 时间:2024/05/21 11:20

【关键帧动画】

@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
原创粉丝点击