Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
自定义层/形状内的Swift/ios波浪填充动画_Ios_Swift - Fatal编程技术网

自定义层/形状内的Swift/ios波浪填充动画

自定义层/形状内的Swift/ios波浪填充动画,ios,swift,Ios,Swift,我试图实现一个类似于下面GIF的填充动画,但是在一个类似于第二幅图像的非圆形边界内。这可以在一个UIImage上完成吗 当然,您可以使用CAShapeLayer来实现这一点,在该层中,您可以为绘制形状的路径设置动画。然后向形状层添加一个遮罩层,将其遮罩到水滴的形状(这将是水滴形状中的另一个形状层) 你应该能够用一条三次贝塞尔曲线得到波浪的形状,它的宽度和你填充的区域的最宽部分一样宽。你可以创建一个封闭的形状,它是你的波浪曲线,然后是矩形的边和底部,来创建一个封闭的形状 对于wave动画,我建议

我试图实现一个类似于下面GIF的填充动画,但是在一个类似于第二幅图像的非圆形边界内。这可以在一个UIImage上完成吗


当然,您可以使用CAShapeLayer来实现这一点,在该层中,您可以为绘制形状的路径设置动画。然后向形状层添加一个遮罩层,将其遮罩到水滴的形状(这将是水滴形状中的另一个形状层)

你应该能够用一条三次贝塞尔曲线得到波浪的形状,它的宽度和你填充的区域的最宽部分一样宽。你可以创建一个封闭的形状,它是你的波浪曲线,然后是矩形的边和底部,来创建一个封闭的形状

对于wave动画,我建议使用一个闭合的UIBezierPath,它是一个矩形的三条边,然后是一条立方体bezier曲线,它的起点和终点位于矩形的上角,中间的两个控制点位于X维度中矩形的1/4和3/4处。使其中一个控制点位于方框顶线上方,另一个位于顶线下方。动画将只是切换贝塞尔曲线的2个中间控制点的Y位置

以下是Photoshop中的形状:

使该bezier路径比下降形状更宽,这样不会移动的顶部曲线的端点就看不见了

您需要将bezier路径的CGPath安装到CAShapeLayer中。然后,将重复、自动反转的Cabasicanization添加到形状层,以交换顶部曲线两个中间控制点的Y位置,从而使波峰和波谷切换

接下来,您将创建第二个CAShapeLayer,它将包含一个闭合的水滴形状,并将水滴形状层作为遮罩安装在波浪层上


最后,当您更改滑块时,您将上下移动整个波形层的Y位置。

当然,您可以使用CAShapeLayer来实现这一点,在该层中,您可以为绘制形状的路径设置动画。然后向形状层添加一个遮罩层,将其遮罩到水滴的形状(这将是水滴形状中的另一个形状层)

你应该能够用一条三次贝塞尔曲线得到波浪的形状,它的宽度和你填充的区域的最宽部分一样宽。你可以创建一个封闭的形状,它是你的波浪曲线,然后是矩形的边和底部,来创建一个封闭的形状

对于wave动画,我建议使用一个闭合的UIBezierPath,它是一个矩形的三条边,然后是一条立方体bezier曲线,它的起点和终点位于矩形的上角,中间的两个控制点位于X维度中矩形的1/4和3/4处。使其中一个控制点位于方框顶线上方,另一个位于顶线下方。动画将只是切换贝塞尔曲线的2个中间控制点的Y位置

以下是Photoshop中的形状:

使该bezier路径比下降形状更宽,这样不会移动的顶部曲线的端点就看不见了

您需要将bezier路径的CGPath安装到CAShapeLayer中。然后,将重复、自动反转的Cabasicanization添加到形状层,以交换顶部曲线两个中间控制点的Y位置,从而使波峰和波谷切换

接下来,您将创建第二个CAShapeLayer,它将包含一个闭合的水滴形状,并将水滴形状层作为遮罩安装在波浪层上


最后,当您更改滑块时,您将上下移动整个波形层的Y位置。

谢谢Duncan,我们将很快尝试一下。会很快更新谢谢邓肯,刚刚开始工作。谢谢你的详细分析。谢谢邓肯,我很快就要试一试了。会很快更新谢谢邓肯,刚刚开始工作。感谢您提供详细的分类。另请参阅