ZLYWaterWave 1.1.0

ZLYWaterWave 1.1.0

测试测试过
语言 Obj-CObjective C
许可证 MIT
发布上次发布2017年2月

coderfish维护。




  • 作者
  • 小鱼周凌宇

简介

ZLYWaterWave是一个简单易用的iOS水波效果工具,可以使得你的APP更加美观有趣。

ZLYWaterWave效果展示

原理简介

ZLYWaterWave的原理很简单,我们用 Example 里的工程来做简要说明。(首先感谢 @hy,我敬爱的前辈,最初是从他那里学习到水波效果的原理。)

白色图片 红色图片 叠加添加遮盖效果

  1. 首先准备好两张图片
  2. 将两张图放置在重叠的位置
  3. 将其中一张图片添加波浪形的遮盖
  4. 如果波浪形的遮盖是动态变化的,就可以形成动态波浪
  5. ZLYWaterWave已经为你提供了动态波浪的路径,你只需要在回调中添加遮盖即可
  6. 如果你仍然不太懂,那就直接看Example吧,相信你瞬间就会明白的

安装

  1. CocoaPods

    pod ‘ZLYWaterWave’
    
  2. 直接安装

    直接将 ZLYWaterWave.hZLYWaterWave.m文件拖入

使用ZLYWaterWave

  1. 创建ZLYWaterWave对象
- (ZLYWaterWave *)waterWave {
    if (_waterWave == nil) {
        // 给定的frame和你的图片frame一致即可
        _waterWave = [[ZLYWaterWave alloc] initWithFrame:self.pic_red.frame];
        _waterWave.delegate = self;
    }
    return _waterWave;
}
  1. 实现好代理,在代理中给想要实现水波纹效果的图片添加路径生成的遮盖
- (void)waterWave:(ZLYWaterWave *)waterWave wavePath:(UIBezierPath *)path {
    CAShapeLayer *maskLayer = [[CAShapeLayer alloc] init];
    maskLayer.path = path.CGPath;
    // 添加遮盖
    self.pic_red.layer.mask = maskLayer;
}
  1. ZLYWaterWave提供以下参数设置:
/** 水深占比,0 to 1; */
@property(nonatomic, assign)CGFloat waterDepth;

/** 波浪速度,默认 0.05f */
@property (nonatomic, assign) CGFloat speed;

/** 波浪幅度 */
@property (nonatomic, assign) CGFloat amplitude;

/** 波浪紧凑程度(角速度),默认 1.0 */
@property (nonatomic, assign) CGFloat angularVelocity;
  1. 提供以下控制动画的方法:
/**
 开始波动
 */
- (void)startAnimation;

/**
 停止波动
 */
- (void)stopAnimation;

效果展示

ZLYWaterWave效果展示

ZLYWaterWave效果展示

反馈

如果有什么修改建议,可以发送邮件到[email protected],也欢迎到我的博客一起讨论和学习。


2016年11月7日更新

由于CF前缀与Core Foundation存在歧义,更改为ZLY。