IOS 核心动画(Core Animation)
2017-03-22 13:59
239 查看
Core Animation,中文翻译为核心动画,它是一组非常强大的动画处理API,使用它 能做出非常炫丽的动画效果,而且往往是事半功倍。也就是说,使用少量的代码就 可以实现非常强大的功能。
Core Animation可以用在Mac OS X和iOS平台。
Core Animation的动画执行过程都是在后台操作的,不会阻塞主线程。
要注意的是,Core Animation是直接作用在CALayer上的,并非UIView。
● 2.初始化一个CAAnimation对象,并设置一些动画相关属性
● 3.通过调用CALayer的addAnimation:forKey:方法增加CAAnimation对象到CALayer中,这样就能开始执行动画了
● 4.通过调用CALayer的removeAnimationForKey:方法可以停止CALayer
中的动画
View Code
Core Animation可以用在Mac OS X和iOS平台。
Core Animation的动画执行过程都是在后台操作的,不会阻塞主线程。
要注意的是,Core Animation是直接作用在CALayer上的,并非UIView。
Core Animation的使用步骤
● 1.使用它需要先添加QuartzCore.framework框架和引入主头文件 <QuartzCore/QuartzCore.h>(iOS7不需要)● 2.初始化一个CAAnimation对象,并设置一些动画相关属性
● 3.通过调用CALayer的addAnimation:forKey:方法增加CAAnimation对象到CALayer中,这样就能开始执行动画了
● 4.通过调用CALayer的removeAnimationForKey:方法可以停止CALayer
中的动画
CAAnimation继承结构
#import "NJViewController.h" @interface NJViewController () @property (weak, nonatomic) IBOutlet UIImageView *iconView; - (IBAction)nextBtnClick:(id)sender; - (IBAction)preBtnClick:(id)sender; @property (nonatomic, assign) int index; @end @implementation NJViewController // 下一张 - (IBAction)nextBtnClick:(id)sender { self.index++; if (self.index >7) { self.index = 1; } NSString *imageName = [NSString stringWithFormat:@"%d.jpg", self.index]; UIImage *newImage = [UIImage imageNamed:imageName]; self.iconView.image = newImage; // 1.创建核心动画 CATransition *ca = [CATransition animation]; // 1.1动画过渡类型 ca.type = @"cube"; // 1.2动画过渡方向 ca.subtype = kCATransitionFromRight; // 1.3动画起点(在整体动画的百分比) // ca.startProgress = 0.5; ca.endProgress = 0.5; // 动画时间 ca.duration = 1; // 2.添加核心动画 [self.iconView.layer addAnimation:ca forKey:nil]; } // 上一张 - (IBAction)preBtnClick:(id)sender { self.index--; if (self.index < 1) { self.index = 7; } NSString *imageName = [NSString stringWithFormat:@"%d.jpg", self.index]; UIImage *newImage = [UIImage imageNamed:imageName]; self.iconView.image = newImage; // 1.创建核心动画 CATransition *ca = [CATransition animation]; // 1.1告诉系统执行什么动画 ca.type = @"cube"; ca.subtype = kCATransitionFromLeft; ca.duration = 1; // 2.添加核心动画 [self.iconView.layer addAnimation:ca forKey:nil]; } @end
View Code
相关文章推荐
- iOS-Core Animation 核心动画
- iOS——Core Animation(核心动画)
- 011-iOS核心动画(Core Animation)
- iOS开发之核心动画(Core Animation)
- iOS——Core Animation(核心动画)
- iOS开发之核心动画(Core Animation)
- iOS-Core Animation 核心动画高级编程/2-寄宿图
- IOS核心动画 Core Animation - 基本动画
- iOS-Core Animation 核心动画高级编程/4-视觉效果
- iOS - Core Animation 核心动画
- iOS中的动画:核心动画Core Animation, UIView动画, Block动画, UIImageView的帧动画.
- iOS 核心动画Core Animation
- iOS核心动画Core Animation(二)
- IOS核心动画 - Core Animation
- iOS开发 - Core Animation 核心动画
- iOS_Core Animation核心动画 基础动画的学习与总结
- IOS核心动画(Core Animation)
- iOS Core Animation 核心动画
- ios开发之核心动画四:核心动画-Core Animation--CABasicAnimation基础核心动画
- iOS——Core Animation(核心动画)