对圆形 UIImageView 进行动画处理以消失



如果我有一个圆的UIImageView,核心动画如何让它像这个问题中那样消失?

如何使用 CoreAnimation 像时钟倒计时一样对圆圈进行动画处理

创建一个CAShapeLayer。 将其path设置为"时钟"形状。 将其设置为图像视图的图层蒙版(例如imageView.layer.mask = shapeLayer)。

然后,您可以尝试使用CAKeyframeAnimation对形状图层的path进行动画处理,但我怀疑结果不会令人满意。 相反,您可能希望使用CADisplayLink作为计时器,并在每次触发时更新形状图层的path

您正在寻找的称为"时钟擦除"转换。

大卫正在为你指明正确的方向。我在 Github 上有一个示例项目,它准确地显示了您正在寻找的内容:

iOS 核心动画演示

运行应用程序时,单击"蒙版动画"按钮。它做你在说什么。它显示带有时钟擦除的图像视图,然后再次将其隐藏。首先切换它以使图像完全可见,然后对时钟擦除进行动画处理以将其隐藏起来,这是一件简单的事情。

最新更新