本文实例为大家分享了iOS实现波浪效果的具体代码,供大家参考,具体内容如下
代码:
@interface ViewController () @property (strong, nonatomic) CADisplayLink *displayLink; @property (strong, nonatomic) CAShapeLayer *shapeLayer; @property (strong, nonatomic) UIBezierPath *path; @property (strong, nonatomic) CAShapeLayer *shapeLayer2; @property (strong, nonatomic) UIBezierPath *path2; @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; _shapeLayer = [CAShapeLayer layer]; _shapeLayer.frame = CGRectMake(0, 100, 375, 150); [self.view.layer addSublayer:_shapeLayer]; _shapeLayer2 = [CAShapeLayer layer]; _shapeLayer2.frame = CGRectMake(0, 100, 375, 150); [self.view.layer addSublayer:_shapeLayer2]; _shapeLayer.fillColor = [[UIColor yellowColor] colorWithAlphaComponent:0.3].CGColor; _shapeLayer2.fillColor = [[UIColor blueColor] colorWithAlphaComponent:0.3].CGColor; _displayLink = [CADisplayLink displayLinkWithTarget:self selector:@selector(drawPath)]; [_displayLink addToRunLoop:[NSRunLoop mainRunLoop] forMode:NSRunLoopCommonModes]; } - (void)drawPath { static double i = 0; CGFloat A = 10.f;//A振幅 CGFloat k = 0;//y轴偏移 CGFloat ω = 0.03;//角速度ω变大,则波形在X轴上收缩(波形变紧密);角速度ω变小,则波形在X轴上延展(波形变稀疏)。不等于0 CGFloat φ = 0 + i;//初相,x=0时的相位;反映在坐标系上则为图像的左右移动。 //y=Asin(ωx+φ)+k _path = [UIBezierPath bezierPath]; _path2 = [UIBezierPath bezierPath]; [_path moveToPoint:CGPointZero]; [_path2 moveToPoint:CGPointZero]; for (int i = 0; i < 376; i ++) { CGFloat x = i; CGFloat y = A * sin(ω*x+φ)+k; CGFloat y2 = A * cos(ω*x+φ)+k; [_path addLineToPoint:CGPointMake(x, y)]; [_path2 addLineToPoint:CGPointMake(x, y2)]; } [_path addLineToPoint:CGPointMake(375, -100)]; [_path addLineToPoint:CGPointMake(0, -100)]; _path.lineWidth = 1; _shapeLayer.path = _path.CGPath; [_path2 addLineToPoint:CGPointMake(375, -100)]; [_path2 addLineToPoint:CGPointMake(0, -100)]; _path2.lineWidth = 1; _shapeLayer2.path = _path2.CGPath; i += 0.1; if (i > M_PI * 2) { i = 0;//防止i越界 } }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。
本文向大家介绍Android实现波浪线效果(xml bitmap),包括了Android实现波浪线效果(xml bitmap)的使用技巧和注意事项,需要的朋友参考一下 我们要实现的效果如下: 在这之前先带大家了解一下xml bitmap,何为XML Bitmap? XML Bitmap 是一个用XML定义的文件放在资源目录,定义的对象是图片,为bitmap定义别名,这个文件可以给bitmap定义一
本文向大家介绍WPF实现3D粒子波浪效果,包括了WPF实现3D粒子波浪效果的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了WPF实现3D粒子波浪效果的具体代码,供大家参考,具体内容如下 实现效果如下: 步骤: 1、3D粒子类Particle.cs 2、粒子系统ParticleSystem类 3、Viewport布局 4、交互逻辑 以上就是本文的全部内容,希望对大家的学习有所帮助,也希
本文向大家介绍iOS 水波纹动画的实现效果,包括了iOS 水波纹动画的实现效果的使用技巧和注意事项,需要的朋友参考一下 本人最近在研究iOS动画,至于原理,我不在这里说了。毕竟这里的标题:水波纹的实现。 在这里,要学习水波纹的实现,首先要知道以下几点知识: 1.正弦函数:y = Asin(wx +b) + c。相信大家都比较熟悉。 2.CAShapeLayer的简单实用,相信看一下,就是知道其大概
在这个更加复杂的例子中,我们使用片段着色器创建一个波浪效果。波浪的形成是基于sin曲线,并且它影响了使用的纹理坐标的颜色。 import QtQuick 2.0 Rectangle { width: 480; height: 240 color: '#1e1e1e' Row { anchors.centerIn: parent spaci
本文向大家介绍iOS实现手指点击出现波纹的效果,包括了iOS实现手指点击出现波纹的效果的使用技巧和注意事项,需要的朋友参考一下 实现来看看模拟器上效果: 具体的实现代码如下 首先监听控制器view的Tap事件 FingerWaveView.h FingerWaveView.m 总结 大家也可以DIY我的代码,做出很多其他的效果,比如改成其他的波纹颜色。以上就是这篇文章的全部内容了,希望本文的内容u
本文向大家介绍Android实现水波纹效果,包括了Android实现水波纹效果的使用技巧和注意事项,需要的朋友参考一下 一、效果 点击开始: 点击停止: 二、在MainActivity中 三、在activity_main中 四、在WaveView中: 五、在CircleImageView中: 六、在attrs中 以上所述是小编给大家介绍的Android实现水波纹效果,希望对大家有所帮助,如