您的位置:首页 > 移动开发 > IOS开发

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 UI Eureka 动画