ZLYWaterWave是一个简单易用的iOS水波效果工具,可以使得你的APP更加美观有趣。
ZLYWaterWave的原理很简单,我们用 Example 里的工程来做简要说明。(首先感谢 @hy,我敬爱的前辈,最初是从他那里学习到水波效果的原理。)
CocoaPods
pod ‘ZLYWaterWave’
直接安装
直接将 ZLYWaterWave.h
和ZLYWaterWave.m
文件拖入
- (ZLYWaterWave *)waterWave {
if (_waterWave == nil) {
// 给定的frame和你的图片frame一致即可
_waterWave = [[ZLYWaterWave alloc] initWithFrame:self.pic_red.frame];
_waterWave.delegate = self;
}
return _waterWave;
}
- (void)waterWave:(ZLYWaterWave *)waterWave wavePath:(UIBezierPath *)path {
CAShapeLayer *maskLayer = [[CAShapeLayer alloc] init];
maskLayer.path = path.CGPath;
// 添加遮盖
self.pic_red.layer.mask = maskLayer;
}
/** 水深占比,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;
/**
开始波动
*/
- (void)startAnimation;
/**
停止波动
*/
- (void)stopAnimation;
如果有什么修改建议,可以发送邮件到[email protected],也欢迎到我的博客一起讨论和学习。
2016年11月7日更新
由于CF前缀与Core Foundation
存在歧义,更改为ZLY。