微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在iOS中实现“时钟擦除”/径向擦除效果?

有时您会看到正在使用的“时钟擦除”动画.像这样的东西:

你会如何在iOS中实现这种效果

(注意:这个问题是一个“铃声”.我想分享一种创建时钟擦除动画的技术,但是SO没有共享教程的格式,所以我最接近的是问一个问题,然后提供答案这是故意的,并试图分享其他人可能觉得有用的信息.)

解决方法

回答:

您将创建CAShapeLayer并将其作为蒙版安装在视图的图层上.

然后,您将弧形安装到跨越整个360度的形状图层,并且半径为图像中心到角落距离的一半.你给它一个与半径相同的线宽.

最后,您将创建一个CABasicAnimation,它将形状图层的strokeEnd属性设置为0到1.0.这将导致形状开始为空(图像完全蒙版)并将蒙版动画为“饼图”,其变得越来越大,直到它是图像的完整大小.

您可以在github上下载示例项目,该示例项目显示了此动画的工作代码,以及其他Core Animation技术:

CA Animation demo on github

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐