码迷,mamicode.com
首页 > 移动开发 > 详细

【我们都爱Paul Hegarty】斯坦福IOS8公开课个人笔记41 Animation动画

时间:2015-07-27 00:25:13      阅读:183      评论:0      收藏:0      [点我收藏+]

标签:animation   ios   swift   斯坦福   

IOS中的动画有以下几种:
技术分享
第一种是为UIView的元素添加动画。
第二种是控制器的动画,比如之前介绍的导航控制器的用法。
第三种是Core Animation,这是一个很强大的框架,但是超出了这门课程的范围。
第四种是Dynamic Animation,这种动画基于设备的物理特性,比如晃动手机、调转方向等等。
本话来讲解第一种情况:
技术分享
可以诸如frame、transform、和alpha这样的属性来实现动画效果。
可以调用UIView的方法来设置动画,这些方法的参数中有闭包可以帮助我们设置UIView的以上属性,闭包中的代码在调用方法时是立即执行的,有些方法还有参数名为completion的闭包,这个闭包中可以设置在Animation完成后的操作。比如如下方法的声明:
技术分享
用法如下:
技术分享
myView的透明度原本是1,现在我们调用了方法animateWithDuration,在animations中只进行了一个操作就是把myView设为全透明。第一个参数3.0的意义是这个透明的过程会在3秒内完成,第二个参数2.0的意义是这个动画会延迟2S。第三个参数options会在所有的动画方法中用到,它是一个枚举,指示不同的动画类型,后面会讲到。
animations就是我们需要进行的操作,completion是完成后的操作,刚才在定义中看到了completion闭包有一个布尔参数,所以直接使用$0来替代表示前面代码执行完毕,在这个闭包中要把myView从父视图集合中删除,做到真正的删除。
除了使用animateWithDuration修改view的属性之外,如果你要实现翻转之类的动画,靠着上面的三个属性是实现不了的,这时候还有专门的方法可供选择:
技术分享
使用示例:
技术分享
如果需要改变View的层次,使用下面的方法:
技术分享

版权声明:本文为博主原创文章,未经博主允许不得转载。

【我们都爱Paul Hegarty】斯坦福IOS8公开课个人笔记41 Animation动画

标签:animation   ios   swift   斯坦福   

原文地址:http://blog.csdn.net/cg1991130/article/details/47073595

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!