iOS开发总结之CABasicAnimation
来源:互联网 发布:淘宝女包 编辑:程序博客网 时间:2024/05/29 08:15
1.创建图层
#import "ViewController.h"@interface ViewController ()@property(strong,nonatomic) CALayer *layer;@end@implementation ViewController- (void)viewDidLoad{ [super viewDidLoad]; CALayer *layer = [CALayer layer]; layer.position = CGPointMake(100, 100); layer.bounds = CGRectMake(0, 0, 100, 100); layer.backgroundColor = [UIColor redColor].CGColor; [self.view.layer addSublayer:layer]; self.layer = layer;}
2.demo示例
demo示例1.
- (void)testTransform{ // 1.创建动画对象// CABasicAnimation *anim = [CABasicAnimation animation];// // 2.设置动画对象// // keyPath决定了执行怎样的动画, 调整哪个属性来执行动画// // anim.keyPath = @"transform.rotation";// // anim.keyPath = @"transform.scale.x";// anim.keyPath = @"transform.translation.x"; CABasicAnimation *anim = [CABasicAnimation animationWithKeyPath:@"transform.translation.x"]; anim.toValue = @(200); // anim.toValue = [NSValue valueWithCGPoint:CGPointMake(100, 100)]; anim.duration = 2.0; //动画时间 /**让图层保持动画执行完毕后的状态**/ // 动画执行完毕后不要删除动画 这个要和下面的fillMode结合使用 需要将其removedOnCompletion设置为NO,要不然fillMode不起作用 anim.removedOnCompletion = NO; // 保持最新的状态 anim.fillMode = kCAFillModeForwards; //当动画结束后,layer会一直保持着动画最后的状态 // 3.添加动画 [self.layer addAnimation:anim forKey:nil];}
效果:
动画开始前:
动画结束后:
demo示例2:
- (void)testRotate{ // 1.创建动画对象// CABasicAnimation *anim = [CABasicAnimation animationWithKeyPath:<#(nullable NSString *)#> CABasicAnimation *anim = [CABasicAnimation animation]; // 2.设置动画对象 // keyPath决定了执行怎样的动画, 调整哪个属性来执行动画 anim.keyPath = @"transform"; // anim.fromValue = [NSValue valueWithCGPoint:CGPointMake(0, 0)]; anim.toValue = [NSValue valueWithCATransform3D:CATransform3DMakeRotation(M_PI/3, 1, -1, 0)]; anim.duration = 2.0; anim.removedOnCompletion = NO; //需要将其removedOnCompletion设置为NO,要不然fillMode不起作用 anim.fillMode = kCAFillModeForwards; //当动画结束后,layer会一直保持着动画最后的状态 // 3.添加动画 [self.layer addAnimation:anim forKey:nil];}效果:
动画开始前:
动画结束后:
demo示例3:
- (void)testScale{ // 1.创建动画对象 // CABasicAnimation *anim = [CABasicAnimation animationWithKeyPath:<#(nullable NSString *)#> CABasicAnimation *anim = [CABasicAnimation animation]; // 2.设置动画对象 // keyPath决定了执行怎样的动画, 调整哪个属性来执行动画 anim.keyPath = @"bounds";// anim.fromValue = [NSValue valueWithCGPoint:CGPointMake(0, 0)]; anim.toValue = [NSValue valueWithCGRect:CGRectMake(0, 0, 200, 200)]; anim.duration = 2.0; /**让图层保持动画执行完毕后的状态**/ // 动画执行完毕后不要删除动画 这个要和下面的fillMode结合使用 需要将其removedOnCompletion设置为NO,要不然fillMode不起作用 anim.removedOnCompletion = NO; // 保持最新的状态 anim.fillMode = kCAFillModeForwards; //当动画结束后,layer会一直保持着动画最后的状态 // 3.添加动画 [self.layer addAnimation:anim forKey:nil];}
动画开始前:
动画结束后:
0 0
- iOS开发总结之CABasicAnimation
- iOS - CABasicAnimation使用总结
- iOS开发点滴-CABasicAnimation
- IOS开发 CABasicAnimation
- iOS 之 CABasicAnimation
- iOS学习之CABasicAnimation
- 六 iOS之 CABasicAnimation
- iOS 核心动画之CABasicAnimation
- iOS核心动画之CABasicAnimation
- 【iOS开发-动画】CABasicAnimation实现动画
- [IOS开发]CABasicAnimation animationWithKeyPath有哪些值
- iOS CABasicAnimation
- iOS CABasicAnimation
- iOS : CABasicAnimation
- IOS动画之 CAKeyframeAnimation跟CABasicAnimation
- iOS:核心动画之基本动画CABasicAnimation
- iOS CoreAnimation之CABasicAnimation:文字路径动画
- iOS 之CABasicAnimation简单动画 组动画 顺序播放动画
- 安卓定位的四种介绍方式
- 士兵杀敌(二)
- 最少拦截系统
- json详解
- bamboo
- iOS开发总结之CABasicAnimation
- 反射学习笔记
- 发布与订阅消息--Redis学习笔记八
- webservice客户端和spring集成的常用方法
- iOS-Undefined symbols for architecture x86_64-- 调适萤石摄像头驱动程序--萤石开放平台
- SQLiteOpenHelper 中什么时候调用 onCreate() , 什么时候调用 onUpgrade() ?
- Java设计模式之观察者模式
- 人脸检测代码网站
- maya简单的双倍位移节点的创建