iOS第三方库Eureka实现定制动画详解(十六+结尾):升级动画+结尾的话
2018-02-21 15:53
736 查看
16.再给动画加点料,感觉棒棒哒 ^_^
最后,我们可以进一步升级一下动画效果:让stub图片在移动时同时旋转360度,然后再进行扩展。从View动画层面上来说,旋转图片360度直接来做竟然有些棘手!(猫猪语:在layer上动画是可以轻易做到的。)原因是View动画遵循一个原则:最懒原则!
如果你动画的结果状态和动画之前的状态完全一致,不管你中间的过程是怎样,动画根本不会发生!
在这里,旋转图片360度不就是等于没有旋转吗?
所以这个要动点小脑筋,我们用一个内联函数来完成,以下代码可以放到imgView作用域的任何地方:
var count = 0 func rotate(){ UIView.animate(withDuration: 1.0/2.0, animations: { imgView.transform = imgView.transform.rotated(by: CGFloat(Double.pi)) }, completion: {finish in count += 1 if finish,count < 2{ rotate() } }) }
然后在ImageRow.onChange回调的延时代码块的结尾加上一行:
rotate()
现在可以编译运行App,我们看一下最终的效果:
PS:因为gif录制软件的问题,上图动画显得并不是太流畅,但实际运行中还是很流畅的哦 ;)
17.结尾的话
好了,本猫的本博Eureka动画系列到此告一段落了。其实其中还有很多可以改进和优化的地方,但限于篇幅就不一一介绍了,希望大家可以喜欢,希望大家可以和我多交流,有什么不足之处也请多多指正。
我们下次再见喽 ;)
相关文章推荐
- iOS第三方库Eureka实现定制动画详解(三):Eureka的代码布局
- iOS第三方库Eureka实现定制动画详解(十四):第一步-"飞"动画的实现
- iOS第三方库Eureka实现定制动画详解(十一):草船借箭-完成UserLogoRow的功能(2)
- iOS第三方库Eureka实现定制动画详解(七):如何使用Eureka社区中的第三方库
- iOS第三方库Eureka实现定制动画详解(十):草船借箭-完成UserLogoRow的功能(1)
- iOS第三方库Eureka实现定制动画详解(八):怎么写一个定制的Row?
- iOS第三方库Eureka实现定制动画详解(十五):拉伸+Q弹动画
- iOS第三方库Eureka实现定制动画详解(四):Eureka的逻辑架构
- iOS第三方库Eureka实现定制动画详解(十二+十三):但这样就足够了么?
- iOS第三方库Eureka实现定制动画详解(五):完成生日输入的功能
- iOS第三方库Eureka实现定制动画详解(一):什么是Eureka库
- iOS第三方库Eureka实现定制动画详解(二):万变不离其宗-Row组件
- iOS第三方库Eureka实现定制动画详解(九):将定制的Row集成到项目中
- ios学习--详解IPhone动画效果类型及实现方法
- ios学习--详解IPhone动画效果类型及实现方法
- ios学习--详解IPhone动画效果类型及实现方法
- iOS中利用CAEmitterLayer实现粒子动画详解
- IOS实现碎片化动画详解
- iOS第三方库Eureka实现定制动画详解(六):一些通用Row简介
- iOS自定义转场详解03——实现通过圆圈放大缩小的转场动画