有时候你会看到使用“时钟擦拭”动画,就像这样:
答案:
您需要创建一个CAShapeLayer,并将其安装为视图层的蒙版。
然后,您会在形状图层中安装一个跨越完整360度的弧形,并且半径是图像中心到角落距离的一半。您会给它一个与半径相同的线宽。
最后,您将创建一个CABasicAnimation,该动画将从0到1.0动画形状层的strokeEnd属性。这会导致形状开始为空(图像完全被遮罩),并将遮罩动画为一个“饼图”不断变大,直到成为图像的完整大小。
您可以在github上下载我编写的示例项目,其中显示了此动画的工作代码以及其他Core Animation技术:
好的,这个帖子真的很旧了。我尝试让示例项目构建并放弃了与Xcode的战斗约45分钟。太多设置与当前的项目格式过时。
时钟擦拭演示需要用Swift重写,所以我重新开始了。
新项目可以在此链接处找到:https://github.com/DuncanMC/ClockWipeSwift