Swift - transform.m34动画示例

效果

源码

https://github.com/YouXianMing/Swift-Animations

//
// CATransform3DM34Controller.swift
// Swift-Animations
//
// Created by YouXianMing on 16/8/19.
// Copyright © 2016年 YouXianMing. All rights reserved.
// import UIKit class CATransform3DM34Controller: NormalTitleViewController { var layer : CALayer!
var timer : GCDTimer!
var transformState : Bool! = false override func setup() { super.setup() initLayer() timerEvent()
} func initLayer() { let image = UIImage(named: "")
layer = CALayer()
layer.frame = CGRectMake(, , image!.size.width / , image!.size.height / )
layer.position = (contentView?.middlePoint)!
layer.borderWidth =
layer.borderColor = UIColor.blackColor().CGColor
layer.contents = image?.CGImage
contentView?.layer.addSublayer(layer)
} func timerEvent() { weak var wself = self
timer = GCDTimer(inQueue: GCDQueue.mainQueue)
timer.event({ if wself?.transformState == false { wself?.transformState = true
wself?.transformStateEvent() } else { wself?.transformState = false
wself?.normalStateEvent()
} }, timeIntervalWithSeconds: 2.0, delayWithSeconds: 1.0)
timer.start()
} func transformStateEvent() { var perspectiveTransform = CATransform3DIdentity
perspectiveTransform.m34 = -(1.0 / 500.0)
perspectiveTransform = CATransform3DTranslate(perspectiveTransform, , -, )
perspectiveTransform = CATransform3DRotate(perspectiveTransform, Math.RadianFromDegree(), 0.75, , -0.5)
perspectiveTransform = CATransform3DScale(perspectiveTransform, 0.75, 0.75, 0.75) layer.transform = perspectiveTransform
layer.allowsEdgeAntialiasing = true
layer.speed = 0.5
} func normalStateEvent() { let perspectiveTransform = CATransform3DIdentity
layer.transform = perspectiveTransform
layer.speed = 0.5
}
}

Swift - transform.m34动画示例的更多相关文章

  1. XamarinAndroid组件教程RecylerView适配器设置动画示例

    XamarinAndroid组件教程RecylerView适配器设置动画示例 [示例1-3]下面将在RecylerView的子元素进行滚动时,使用适配器动画.具体的操作步骤如下: (1)创建一个名为R ...

  2. canvas高级动画示例

    canvas高级动画示例 演示地址 https://qzruncode.github.io/example/index.html <!DOCTYPE html> <html lang ...

  3. canvas基础动画示例

    canvas基础动画示例 本文主要用最简单的例子,展示canvas动画效果是如何实现的 动画效果,是一个球绕着一点旋转 const canvas = document.getElementById(' ...

  4. 【补间动画示例】Tweened Animation

    代码中定义动画示例 public class MainActivity extends ListActivity </integer> 常用的Activity转场动画中的补间动画 publ ...

  5. css3 transform做动画

    css3 transform做动画第一种用关键帧 这里就不说了 就说第二种方法用 transition属性 ps:1jquery anim不支持transform动画 但css还是支. 2 css3关 ...

  6. Swift 表视图动画教程: Drop-In Cards

    http://www.raywenderlich.com/76024/swift-table-view-animations-tutorial-drop-cards 标准 table view 是一个 ...

  7. [DeviceOne开发]-手势动画示例分享

    一.简介 这是iOS下的效果,android下完全一致.通过do_GestureView组件和do_Animation组件,deviceone能很容易实现复杂的跨平台纯原生动画效果,这个示例就是通过手 ...

  8. [deviceone开发]-心形点赞动画示例

    一.简介 这个示例展示do_Animator组件的简单使用,通过点击"点赞"按钮,不断弹出心形图片,向上动画漂移到顶部消失.间隔时间和上下左右移动的步长都是一定范围的随机值.二.效 ...

  9. [deviceone开发]-一个很炫的手势动画示例

    一.简介 这是iOS下的效果,android下完全一致.通过do_GestureView组件和do_Animation组件,deviceone能很容易实现复杂的跨平台纯原生动画效果,这个示例就是通过手 ...

随机推荐

  1. unmappable character for US-ASCII

    编码错误编译时加-encoding UTF-8即可 :javac -encoding UTF- file.java //

  2. WebStrom配置node.js

    Webstrom的注册码: WebStorm 7.0.1注册码 user name:newasp 注册码: ===== LICENSE BEGIN ===== 16417-12042010 00001 ...

  3. http://blog.csdn.net/five3/article/details/7181521

    首先来了解什么是multipart/form-data请求: 根据http/1.1 rfc 2616的协议规定,我们的请求方式只有OPTIONS.GET.HEAD.POST.PUT.DELETE.TR ...

  4. windows10系统定时1分钟执行php(不借助windows的.bat文件)原创

    第一步:确认windows上是否配置好了php环境变量,我用xampp安装的lamp环境,默认已经配置好了php的环境变量.在CMD中执行php -v  显示相应的php版本 php -v 如果显示上 ...

  5. sklearn GMM模型介绍

    参考  SKlearn 库 EM 算法混合高斯模型参数说明及代码实现   和   sklearn.mixture.GaussianMixture 以前的推导内容:    GMM 与 EM 算法 记录下 ...

  6. Qt代码创建分隔条

    我们在使用Qt时,会发现在使用UI界面时可以添加窗口分隔条,但我们使用纯代码时却没有分隔条的类函数.这时候我们就需要手动添加,添加方式和Qt自定义标签按钮一样,下面我直接写代码.如果不知道怎么添加的, ...

  7. SpringMVC框架05——拦截器

    1.拦截器概述 Spring MVC的拦截器(Interceptor)与Java Servlet的过滤器(Filter)类似,它主要用于拦截用户的请求并做相应的处理,通常应用在权限验证.记录请求信息的 ...

  8. rabbitmq学习(一) —— 安装篇

    安装篇之windows: 略(楼主在windows上安装基本就是按部就班的没遇到什么坑) 安装篇值centos7: 主要记录下centos7下的安装,因为在该系统下安装稍微折腾了下 参考https:/ ...

  9. 发布Web端

    1.右键发布 2.配置文件,选择自定义 3.填写配置名称 4.选择本地目录 5.最后发布

  10. 缩减apk大小

    韩梦飞沙  韩亚飞  313134555@qq.com  yue31313  han_meng_fei_sha 1,重复的资源,不用的资源,删去. 2,使用混淆,可以优化. 3,尽量的使用代码,或者其 ...