CATransform3D的m34值动画

效果

源码

https://github.com/YouXianMing/Animations

//
//  CATransform3DM34Controller.m
//  Animations
//
//  Created by YouXianMing on 16/1/9.
//  Copyright © 2016年 YouXianMing. All rights reserved.
//

#import "CATransform3DM34Controller.h"
#import "GCD.h"
#import "Math.h"@interface CATransform3DM34Controller ()@property (nonatomic, strong) CALayer   *layer;
@property (nonatomic, strong) GCDTimer  *timer;
@property (nonatomic)         BOOL       transformState;@end@implementation CATransform3DM34Controller- (void)setup {[super setup];[self initLayer];[self timerEvent];
}- (void)initLayer {// Init layer.UIImage *image         = [UIImage imageNamed:@"1"];self.layer             = [CALayer layer];self.layer.frame       = CGRectMake(0, 0, image.size.width / 2.f, image.size.height / 2.f);self.layer.position    = self.view.center;self.layer.borderWidth = 4.f;self.layer.borderColor = [UIColor blackColor].CGColor;self.layer.contents    = (__bridge id)image.CGImage;[self.view.layer addSublayer:self.layer];
}- (void)timerEvent {// Timer event.self.timer = [[GCDTimer alloc] initInQueue:[GCDQueue mainQueue]];[self.timer event:^{if (self.transformState == NO) {self.transformState = YES;[self transformStateEvent];} else {self.transformState = NO;[self normalStateEvent];}} timeIntervalWithSecs:3.f delaySecs:3.f];[self.timer start];
}- (void)transformStateEvent {// 初始化3D变换,获取默认值CATransform3D perspectiveTransform = CATransform3DIdentity;// 透视perspectiveTransform.m34 = -1.0/500.0;// 位移perspectiveTransform = CATransform3DTranslate(perspectiveTransform, 30, -35, 0);// 空间旋转perspectiveTransform = CATransform3DRotate(perspectiveTransform, [Math radianFromDegree:30], 0.75, 1, -0.5);// 缩放变换perspectiveTransform = CATransform3DScale(perspectiveTransform, 0.75, 0.75, 0.75);self.layer.transform = perspectiveTransform;self.layer.speed     = 0.5;
}- (void)normalStateEvent {// 初始化3D变换,获取默认值CATransform3D perspectiveTransform = CATransform3DIdentity;self.layer.transform = perspectiveTransform;self.layer.speed     = 0.5;
}@end

细节

转载于:https://www.cnblogs.com/YouXianMing/p/5117424.html

CATransform3D的m34值动画相关推荐

  1. 【Flutter】Animation 动画 ( Flutter 动画基本流程 | 创建动画控制器 | 创建动画 | 设置值监听器 | 设置状态监听器 | 布局中使用动画值 | 动画运行 )

    文章目录 一.创建动画控制器 二.创建动画 三.设置值监听器 四.设置状态监听器 五.布局中使用动画值 六.动画运行 七.完整代码示例 八.相关资源 Flutter 动画基本流程 : ① 创建动画控制 ...

  2. iOS动效-利用CATransform3D实现翻页动画效果

    从事iOS开发已经有一段时间了,之前一直忙于工作,几乎很少有时间写一些东西来对自己掌握的技术进行一下总结,现在想想,有些后悔,因为之前在遇见问题的时候或者学习新技术的时候都是在翻看他人的博客或者查看苹 ...

  3. iOS动画 三维透视投影 m34

    transform的结构如下: struct CATransform3D {   CGFloat m11, m12, m13, m14;   CGFloat m21, m22, m23, m24;   ...

  4. Core Animation 文档翻译 (第六篇)—高级动画技巧

    前言 配置属性动画或者关键帧动画的方式是多种多样的.需要同时执行多个动画或者顺序执行多个动画的APP,可以通过高级的方式同步这些动画的timing或者将这些动画绑定在一起.我们也可以使用其他类型的动画 ...

  5. ios开发——使用CALayer和Core Animation做动画效果

    一. CALayer (一). CALayer简介 在iOS中,你能看得见摸得着的东西基本上都是UIView,比如一个按钮.一个文本标签.一个文本输入框.一个图标等等,这些都是UIView,其实UIV ...

  6. 【IOS开发进阶系列】动画专题

    1 CALayer IOS SDK详解之CALayer(一) http://doc.okbase.net/Hello_Hwc/archive/123447.html 1.1 基本概念 1.1.1 CA ...

  7. 系统学习iOS动画之六:3D动画

    本文是我学习<iOS Animations by Tutorials> 笔记中的一篇. 文中详细代码都放在我的Github上 andyRon/LearniOSAnimations. 到目前 ...

  8. iOS图层配合核心动画详解

    Core Animation Core Animation,中文翻译为核心动画,它是一组非常强大的动画处理API,使用它能做出非常炫丽的动画效果,而且往往是事半功倍.也就是说,使用少量的代码就可以实现 ...

  9. 核心动画——Core Animation

    一. CALayer (一). CALayer简介 在iOS中,你能看得见摸得着的东西基本上都是UIView,比如一个按钮.一个文本标签.一个文本输入框.一个图标等等,这些都是UIView,其实UIV ...

最新文章

  1. 面试官:你来谈谈数据库优化的几个阶段?
  2. 【入门基础】conda+jupyter玩转数据科学环境搭建
  3. Shell脚本自动备份数据库
  4. 在.NET 中实现 AOP
  5. 【Docker】Docker 启用 Kubernetes 报错 insecure-registries Must be host[ port] or CIDR
  6. JavaScript闭包理解【关键字:普通函数、变量访问作用域、闭包、解决获取元素标签索引】...
  7. LoadRunner第一次压测实践后的心得体会 收获
  8. tensorflow入门(一)波士顿房价数据集
  9. 蔡勒公式(计算星期几)
  10. 隧道凿岩机器人传感器_隧道凿岩机器人钻臂液压控制系统的设计(精品)☆
  11. Coverity介绍以及典型缺陷说明
  12. Bada学习-多任务模式
  13. HDUOJ_2567_寻梦
  14. 分享多引擎样本查毒网站+多款杀软在线查毒网站
  15. qq西游服务器制作教程,QQ西游服务端文件说明 - 『天命/QQ西游』 - 任逍遥网游交流社区 | 任逍遥网游单机架设论坛 - Powered by Discuz!...
  16. 2021小米笔记本pro14和小新pro14有什么区别 哪个好详细性能配置对比
  17. 小鱼儿的菜鸟笔记三 原来Excel图表可以这么做——花样制作Excel条形图/柱状图/环形图/折线图
  18. 移动端(手机端)页面自适应解决方案—rem布局篇 1
  19. 面渣逆袭:三万字,七十图,详解计算机网络六十二问(收藏版)
  20. zabbix3.0配置服务器流量告警

热门文章

  1. android注入 定位,[原创]修改源码实现全局(无需root)注入躲开注入检测
  2. Java可视化开发开源框架
  3. Java单例模式代码实现方式
  4. 【Java Web前端开发】前端框架 bootstrap+jquery+angularjs探索
  5. 【Web安全】绕过WAF过滤-利用cookie进行SQL注入
  6. 机器学习(MACHINE LEARNING) 【周志华版-”西瓜书“-笔记】 DAY13-半监督学习
  7. 计算机软件专业 课程,_计算机软件_专业的课程设置.pdf
  8. matlab抽样模块是哪个,Matlab怎样进行信号的重建这个题先让把x(t)=sin(2πt)按照T=0.4抽样,这一步我已经...
  9. linux多线程求和_211渣硕,海投200+家Java岗(面40,过7),收获多份offer!
  10. linux 音频文件长度,Linux下压缩音频文件