涟漪动画ripple
2015-09-22 00:00
225 查看
摘要: 关于iOS基础动画的第一篇,使用swift实现一些layer动画.
ripple是涟漪的意思,接下来实现的动画你将一块石头投入静止的水面所看到的一样.
ripple动画是通过一个scale动画和alpha动画组合起来的, 最后别忘了设置重复次数哦.
ripple是涟漪的意思,接下来实现的动画你将一块石头投入静止的水面所看到的一样.
ripple动画是通过一个scale动画和alpha动画组合起来的, 最后别忘了设置重复次数哦.
func addRippleAnimation() { let shapeLayer = CAShapeLayer() shapeLayer.lineWidth = 0.2 shapeLayer.strokeColor = UIColor.blueColor().CGColor let width: CGFloat = 2.0 let path = UIBezierPath(roundedRect: CGRectMake(0, 0, width, width), cornerRadius: width/2.0) shapeLayer.path = path.CGPath shapeLayer.fillColor = UIColor.clearColor().CGColor shapeLayer.position = view.center shapeLayer.bounds = path.bounds //添加layer view.layer.addSublayer(shapeLayer) //scale animation let scalAni = CABasicAnimation(keyPath: "transform.scale") scalAni.fromValue = NSValue(CATransform3D: CATransform3DIdentity) scalAni.toValue = NSValue(CATransform3D: CATransform3DMakeScale(60, 60, 1)) //alpha animation let alphaAni = CABasicAnimation(keyPath: "opacity") alphaAni.fromValue = 1 alphaAni.toValue = 0 let groupAni = CAAnimationGroup() groupAni.animations = [scalAni, alphaAni] groupAni.duration = 1.0 groupAni.timingFunction = CAMediaTimingFunction(name: kCAMediaTimingFunctionEaseOut) groupAni.removedOnCompletion = false groupAni.repeatCount = HUGE //重复次数为无限大 shapeLayer.addAnimation(groupAni, forKey: nil) }
相关文章推荐
- Getting Started: Configuring Mac for Android
- Unit Testing RxJava Observables and Subscriptions
- 树形结构数据后台处理:一次循环生成树
- Android Activity生命周期详解
- bloom过滤器 (从网上找了几个链接 供学习)
- node.js环境搭建记录
- The remote system refused the connection 解决方法
- 使用java对文件中关键字进行统计,并作排序
- Java中Map转为List的方法
- 使用shell统计字符串出现的次数,并从大到小进行排序显示
- 介绍几个常用的Chrome谷歌浏览器插件
- iOS 9的新的改变 iOS SDK Release Notes for iOS 9 说了些改变
- 你需要知道的18个Web可用性原则
- 企业如何选择Hadoop
- 企业需要关注的点
- kafka java示例
- ZeroMQ(java)之负载均衡
- C#与OOP知识总结
- AngularJs的自定义filter用法
- git查看日志