博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【我们都爱Paul Hegarty】斯坦福IOS8公开课个人笔记41 Animation动画
阅读量:6995 次
发布时间:2019-06-27

本文共 755 字,大约阅读时间需要 2 分钟。

IOS中的动画有以下几种:

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

你可能感兴趣的文章
JavaScript DOM对象
查看>>
裸机恢复 (BMR) 和系统状态恢复
查看>>
IE自动化 二(判断IP所在地)
查看>>
select下拉框多选 和回显
查看>>
苹果允许Flash程序在iPad和iPhone中使用
查看>>
一起谈.NET技术,XML与DataSet对象的关系
查看>>
艾伟_转载:【译】12个asp.net MVC最佳实践
查看>>
MySQL索引
查看>>
flask/sqlalchemy - OperationalError: (sqlite3.OperationalError) no such table
查看>>
每个势利鬼都有一副奴才相
查看>>
LINQ to Object的一个例子
查看>>
在CI框架中如何实现伪静态
查看>>
ORACLE Postgresql中文排序
查看>>
UBOOT到内核到文件系统设置需要注意点
查看>>
卡尔曼滤波简介——4.方差比较
查看>>
mysql -- 预处理语句
查看>>
Silverlight如何调用淘宝API
查看>>
ESP8266- AP模式的使用
查看>>
hdu 1503 LCS输出路径【dp】
查看>>
博客园开张第一天
查看>>