视频地址: http://www.swiftv.cn/course/i275v5lz

1,动画属性

position(位置),opacity(透明度,0 全透明,1 不透明),Scale(尺寸),Color,Rotate,3D

2,动画曲线

Linear(线性),EaseIn(慢开始),EaseOut(慢结束),EaseInEaseOut

3,CoreAnimation

1)创建球

let redBall = UIView(frame:CGRectMale(50,50,100,100))

redBall.backgroundColor = UIColor.redColor()

redBall.layer.cornerRadius = 50 //半圆

self.view.addSubView(redBall)

2)放大动画

UIView.animateWithDuration(0.5,delay:0,options:UIViewAnimationOptions.CurveEaseInOut,

animations:{()->void in

redBall.transform = CGAffineTransformMakeScale(2,2)  //圆放大

},completion:nil)

3)组合动画和位移动画

UIView.animateWithDuration(0.5,delay:0,options:UIViewAnimationOptions.CurveEaseInOut,

animations:{()->void in

//redBall.transform = CGAffineTransformMakeScale(2,2)

redBall.transform = CGAffineTransformConcat(

CGAffineTransformMakeScale(2.0,2.0),

CGAffineTransformMakeTranslation(150,50));

redBall.backgroundColor = UIColor.greenColor()

},completion:nil)

4)弹性动画(加两个参数) spring Animation

UIView.animateWithDuration(

3,

delay:0,

  usingSpringWithDamping:0.3,    //阻力值

  initialSpringVelocity:0,  //弹性运动初始速度

  options:UIViewAnimationOptions.allZeros,

  animations:{()->void in

    redBall.transform = CGAffineTransformMakeTranslation(200,0)

  },

  completion:nil)

4, JNWSpringAnimation

1) CAKeyframeAnimation  关键帧动画

多个关键帧组成动画

可以设置时间间隔

设置位移,缩放等动画属性

2)JNW支持的属性

.position,rotation,scale,corner,shadow,bounds等

3)导入JNW框架

a)获取JNW框架

https://github.com/jwilling/JNWSpringAnimation

 b) 拖入项目中,修改版本差异

new group- 文件拖入-创建桥接头文件-加入#import"JNWSpringAnimation.h"

在NSValue+。。。中引入#import<UIKit/UIKit.h>

c)缩放动画

//创建JNW实例

let scale  = JNWSpringAnimation(keyPath:"transform.scale")

//阻力

scale.damping = 6

***********************

IOS动画类型

IOS 上的动画实现有三种方式:

1,UIView动画

2,CATransition动画 。主要用于两个视图切换过渡的动画效果

3,CAAnimation动画.IOS核心动画,结合绘图可以实现灵活多变的动画效果

Swift 动画学习笔记的更多相关文章

  1. Android动画学习笔记-Android Animation

    Android动画学习笔记-Android Animation   3.0以前,android支持两种动画模式,tween animation,frame animation,在android3.0中 ...

  2. Unity Shader序列帧动画学习笔记

    Unity Shader序列帧动画学习笔记 关于无限播放序列帧动画的一点问题 在学shader的序列帧动画时,书上写了这样一段代码: fixed4 frag(v2f i){ // 获得整数时间 flo ...

  3. 《从零开始学Swift》学习笔记(Day 29)——访问级别

    Swift 2.0学习笔记(Day 29)——访问级别 原创文章,欢迎转载.转载请注明:关东升的博客 访问级别: Swift提供了3种不同访问级别,对应的访问修饰符为:public.internal和 ...

  4. 《从零开始学Swift》学习笔记(Day 13)——数据类型之整型和浮点型

    Swift 2.0学习笔记(Day 13)——数据类型之整型和浮点型 原创文章,欢迎转载.转载请注明:关东升的博客    Swift提供8.16.32.64位形式的有符号及无符号整数.这些整数类型遵循 ...

  5. 《从零开始学Swift》学习笔记(Day5)——我所知道的标识符和关键字

    Swift 2.0学习笔记(Day5)——我所知道的标识符和关键字   原创文章,欢迎转载.转载请注明:关东升的博客 好多计算机语言都有标识符和关键字,一直没有好好的总结,就是这样的用着,现在小小的整 ...

  6. 《从零开始学Swift》学习笔记(Day4)——用Playground工具编写Swift

    Swift 2.0学习笔记(Day4)——用Playground工具编写Swift 原创文章,欢迎转载.转载请注明:关东升的博客 用Playground编写Swift代码目的是为了学习.测试算法.验证 ...

  7. 《从零开始学Swift》学习笔记(Day 3)——Swift 2.0之后增加的关键字

    Swift 2.0学习笔记(Day 3)——Swift 2.0之后增加的关键字 原创文章,欢迎转载.转载请注明:关东升的博客 看了之前的学习笔记知道了什么是关键字,现在提示各位在Swift 2.0之后 ...

  8. 《从零开始学Swift》学习笔记(Day2)——使用Web网站编写Swift代码

    Swift 2.0学习笔记——使用Web网站编写Swift代码 原创文章,欢迎转载.转载请注明:关东升的博客 Swift程序不能在Windows其他平台编译和运行,有人提供了一个网站swiftstub ...

  9. 《从零开始学Swift》学习笔记http(Day1)——我的第一行Swift代码

    Swift 2.0学习笔记(Day1)——我的第一行Swift代码 原创文章,欢迎转载.转载请注明:关东升的博客 当第一次看到下面代码时我石化了,这些代码是什么东东?单词拼出来的? import Fo ...

随机推荐

  1. C语言 单引号 双引号问题

    C语言中的单引号和双引号含义迥异,用单引号引起的一个字符实际上代表一个整数,整数值对应于该字符在编译器采用的字符集中的序列值,因此,采用ASCII字符集的编译器而言,‘a’的含义与0141或97严格一 ...

  2. App架构设计学习(一)---- 接口的设计

    一.哎,最近换了家工作,结果工作很出的我意外,没有干熟悉的根据需求写代码,反而让我一个小菜鸟去重构一下App的架构(他们公司的app,已经上线了1.0版本了),没办法,只有硬着头皮去先学习学习,再总结 ...

  3. redis连接数问题

    redis连接数查看 info client redis连接数满了,不会继续建立连接. 造成redis连接数满了原因有很多. 1.建立新连接不close()的话redis连接不会回归连接池. 显示所有 ...

  4. [php]使用会话session

    <?php /* cookie - 在客户端上存储少了信息(cookie) session(会话) - 解决cookie大小限制/数量/其他 setcookie() - 设置cookie 在客户 ...

  5. OpenStack 虚拟机监控方案确定

    Contents [hide] 1 监控方案调研过程 1.1 1. 虚拟机里内置监控模块 1.2 2. 通过libvirt获取虚拟机数据监控. 2 a.测试openstack的自待组件ceilomet ...

  6. linux_c学习笔记之curl的使用一

    参考文档 使用libcurl发送PUT请求上传数据以及DELETE请求删除数据 http://blog.163.com/lixiangqiu_9202/blog/static/535750372014 ...

  7. Ubuntu1404: 将VIM打造为一个实用的PythonIDE

    参考:  http://www.tuicool.com/articles/ZRv6Rv 说明: 内容非原创, 主要是做了整合和梳理. 在 ubuntu14.04 & debian 8 下测试通 ...

  8. 精通 JS正则表达式

    一.正则表达式可以: 测试字符串的某个模式.例如,可以对一个输入字符串进行测试,看在该字符串是否存在一个电话号码模式或一个信用卡号码模式.这称为数据有效性验证 替换文本.可以在文档中使用一个正则表达式 ...

  9. java网络编程之UDP通讯

    详细介绍了java中的网络通信机制,尤其是UDP协议,通过对UDP的基本使用进行举例说明如何使用UDP进行数据的发送接收,并举了两个小demo说明UDP的使用注意事项. UDP协议原理图解: UDP协 ...

  10. 深入理解block

    2010年WWDC发布iOS4时Apple对Objective-C进行了一次重要的升级:支持Block.说到底这东西就是闭包,其他高级语音例如Java和C++已有支持,第一次使用Block感觉满简单好 ...