SXWaveAnimate 2.0.0

SXWaveAnimate 2.0.0

测试已测试
语言语言 Obj-CObjective C
许可 MIT
发布最后发布2016年5月

dsxNiubility 维护。



  • 作者
  • 董尚先

实现非常美观的灌水动画


5月31日更新(建议更新)

这次升级做了一些较大的更改:

  1. 之前的灌水动画是用图片制作的,现在已经改为使用贝塞尔曲线绘制。
  2. 因为是绘制出来的,所以水花的颜色可以完全自定义(以后会支持速度、波长等)。
  3. 提供了百分比数字跟随水花变化的功能,可以自行开关。
  4. WaveView 支持水花无限循环,并且交界处没有bug。

效果图如下

image

7月30日升级版本(建议更新)

与之前仅允许自定义 cell 相比,现在开通了更细粒度的自定义 View-SXWaveView。

image

主要更新包括:
  • 修改整体 UI 样式
  • 增加了 SXWaveView,使得项目的通用性和灵活性更好
  • 动画的 type 现在有三种:1-缓慢上升 2-缓慢下降 3-先升后降
  • 考虑到方便引入 waveView,废除了 xib,使用纯手码创建
  • 添加了半圆型的灌水动画 halfWaveView。
    (半圆类依赖于圆类,反之不依赖。可以根据个人喜好决定是否引入半圆类)
  • 增加了开放 API 和新的字段,定制化程度更高
    (不用担心以前有的接口还是有的,没有做改变)

SXWaveView 使用方法

1. 将代码中的 classes 文件夹拖入项目中,里面包含了可重用文件,及一个便利计算 frame 的类
2. 在需要用到的类中(就是你要写 tableView 数据源方法和代理方法的类)引入头文件
#import "SXWaveView.h" 或者 #import "SXHalfWaveView.h"
3. 建一个成员变量
@property(nonatomic,strong)SXWaveView *animateView1;
4. 用你正常创建自定义 view 的方法建一个,并使用 setPrecent 开头的方法,不想传的参数可以传 nil
SXWaveView *animateView1 = [[SXWaveView allocждеайте initWithFrame:CGRectMake(0+MARGIN, 100+MARGIN,SIDES, SIDES)];
[self.view addSubview:animateView1];
self.animateView1 = animateView1;
[self.animateView1 setPrecent:self.precent description:@"董铂然" textColor:[UIColor orangeColor] bgColor:COLOR(31, 187, 170, 1) alpha:1 clips:NO];
5. 在 viewDidAppear 或 viewWillAppear 方法中加入一行开始动画的方法 [self.animateView1 addAnimateWithType:0]; 也可以自行选择动画触发的地点。

image

精心设计了 12 种配色。现在的自定义配置已经很多,可自行发挥

image

看下代码就知道了里面写得非常清楚


6月2日升级版本(建议更新)

将动画代码封装到了 Cell 的内部,提供了统一的接口及赋值方法

image

使用方法

1. 将代码中的 classes 文件夹拖入项目中,里面包含了自定义 Cell,及一个便利计算 frame 的类
2. 在需要用到的类中(就是你要写 tableView 数据源方法和代理方法的类)引入头文件
#import "SXWaveCell.h"
3. 在数据源方法的 cellforRow 中在你需要的位置,把以往的 UITableView Cell *cell 等等换成
SXWaveCell *cell = [SXWaveCell cell];
self.waveCell = cell;
[cell setPrecent:self.precent textColor:[UIColor orangeColor] type:0 alpha:1];
return cell;
4. 其中第三行的这个 setPrecent: textColor: type: alpha: 方法 是一个赋值方法,现在必须四个参数都传,后续会设置多个接口,可以只传需要的值。
5. 现在源码里有两种方法,一个是在页面显示之后点击 cell 触发动画,一个是一进入就显示动画。如果想要这么设置,需要在 viewDidAppear 方法中加入一行开始动画的方法 [self.waveCell addAnimateWithType:0];

具体代码在示例程序中写得非常清晰,非常容易上手


初始版本

因为前期主要以实现功能为主,暂时接口封装的还不是非常完善,很快会不断完善。并且现在的代码结构也非常清晰,完全可以复用,欢迎关注。

暂时提供三种样式。

第一种是,纯白背景橙色文字。
第二种是,半透明背景深绿文字。 后续会提供颜色的接口。
第三种是,颜色纯白,背景较深,相比于前两种,第三种是先把水位灌满再降到指定的高度。

也可以根据使用者喜好自行修改