iOS动画-扩散波纹效果
2018-03-28 11:13
2526 查看
最终效果
实现思路动画的表现形式是颜色以及大小的变化,整体效果可以看做多个单独的波纹效果的叠加。因此我们可以创建多个CALayer,分别赋予CABasicAnimation动画,组成最终的动画效果。因此我们先从单个波纹扩散效果来尝试,然后根据时间差将效果叠加起来。代码1.新建动画 View RippleAnimationView,动画效果在animationLayer上实现。新建RippleAnimationView类,继承自UIView,设置扩散倍数,然后重写- (void)drawRect:(CGRect)rect方法,在方法内部新建承载动画的animationLayer。
2.创建单个扩散的动画承载CALayer,实现扩散效果。首先实现缩放动画
新建CALayer,并在layer上加载动画。然后将这个Layer放在animationLayer上。
可以看看现在的效果是这样的
3. 加入背景色以及边框色的渐变效果,将单一的缩放动画合并为动画组CAAnimationGroup。(ps: 除了改变背景色,还要设置并改变边框色的更主要原因是去除锯齿)
现在就有种渐变的感觉了
4. 同时创建三个扩散动画的CALyer,将开始动画的时间错开,同时添加到animationLayer上。
然后效果有点……一言难尽……
真是很有纪律性的变化啊~~好吧,只需要加入动画曲线就好了5. 最后加入动画速度曲线
如果需要点扩散,那就设置 frame 极小,同时扩散倍数增大即可。将动画View垫在另一个圆形View之下即可实现最上方的效果。关闭背景色,重调边框色和边框宽度即可实现第二种效果。
实现思路动画的表现形式是颜色以及大小的变化,整体效果可以看做多个单独的波纹效果的叠加。因此我们可以创建多个CALayer,分别赋予CABasicAnimation动画,组成最终的动画效果。因此我们先从单个波纹扩散效果来尝试,然后根据时间差将效果叠加起来。代码1.新建动画 View RippleAnimationView,动画效果在animationLayer上实现。新建RippleAnimationView类,继承自UIView,设置扩散倍数,然后重写- (void)drawRect:(CGRect)rect方法,在方法内部新建承载动画的animationLayer。
3. 加入背景色以及边框色的渐变效果,将单一的缩放动画合并为动画组CAAnimationGroup。(ps: 除了改变背景色,还要设置并改变边框色的更主要原因是去除锯齿)
4. 同时创建三个扩散动画的CALyer,将开始动画的时间错开,同时添加到animationLayer上。
真是很有纪律性的变化啊~~好吧,只需要加入动画曲线就好了5. 最后加入动画速度曲线
相关文章推荐
- ios开发oc高仿京东金融白条额度余额的 ios开发水波纹 ios开发水正弦曲线波纹 ios开发雷达扫描的动画效果
- ios开发oc高仿京东金融白条额度余额的 ios开发水波纹 ios开发水正弦曲线波纹 ios开发雷达扫描的动画效果
- 以动画实现 水波纹扩散效果.
- iOS开发之iOS中的动画实现,通过CAShapeLayer、CAShapeLayer,CAReplicatorLayer实现炫酷的动画、雷达效果,波纹效果,咻一咻效果。iOS核心动画实现。
- iOS 水波纹动画的实现效果
- Java Swing模拟水波纹扩散效果动画
- Java Swing模拟水波纹扩散效果动画
- Java Swing模拟水波纹扩散效果动画
- [iOS]在tableview中用动画效果改变cell的高度
- IOS开发-UIView之动画效果的实现方法(一)
- iOS 动画效果详解
- iOS 自定义Tabbar实现push动画隐藏效果
- iOS的动画效果类型及实现方法
- iOS学习之自定义弹出UIPickerView或UIDatePicker(动画效果)
- ios每日源码,侧滑菜单精美动画曲线表弹性碰撞效果视频播放器渐变背景动画效果源码
- iOS——各种图片、界面变化的动画效果
- 关于iOS 简单动画效果的实现(用 beginAnimations 和 commitAnimations 来实现最简单的动画)
- iOS核心动画之视觉效果
- iOS解锁界面的"滑动来解锁"闪烁动画效果
- 简单的动画效果 iOS新手笔记