有时候你会看到时钟擦拭"正在使用的动画。像这样:
你会如何在iOS中实现这种效果?
(注意:这个问题是" ringer。"我想分享一种创建时钟擦除动画的技术,但是SO没有共享教程的格式,所以最接近的我可以来提出问题,然后提供答案。这是故意的,并试图分享其他人可能觉得有用的信息。)
答案 0 :(得分:12)
答案:
您可以创建CAShapeLayer并将其作为蒙版安装在视图的图层上。
然后,您将弧线安装到跨越整个360度的形状图层中,并且半径为图像中心到角落距离的一半。你给它一个与半径相同的线宽。
最后,您要创建一个CABasicAnimation,它将形状图层的strokeEnd属性设置为0到1.0。这将导致形状开始为空(图像完全蒙版)并将蒙版动画为"饼图"越来越大,直到它是图像的全尺寸。
您可以在我编写的github上下载示例项目,该项目显示此动画的工作代码,以及其他Core Animation技术: