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的层次,使用下面的方法:
版权声明:本文为博主原创文章,未经博主允许不得转载。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。
发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/3103385.html