如果我有一个圆的UIImageView,核心动画如何让它像这个问题中那样消失?
如何使用 CoreAnimation 像时钟倒计时一样对圆圈进行动画处理
创建一个CAShapeLayer
。 将其path
设置为"时钟"形状。 将其设置为图像视图的图层蒙版(例如imageView.layer.mask = shapeLayer
)。
然后,您可以尝试使用CAKeyframeAnimation
对形状图层的path
进行动画处理,但我怀疑结果不会令人满意。 相反,您可能希望使用CADisplayLink
作为计时器,并在每次触发时更新形状图层的path
。
您正在寻找的称为"时钟擦除"转换。
大卫正在为你指明正确的方向。我在 Github 上有一个示例项目,它准确地显示了您正在寻找的内容:
iOS 核心动画演示
运行应用程序时,单击"蒙版动画"按钮。它做你在说什么。它显示带有时钟擦除的图像视图,然后再次将其隐藏。首先切换它以使图像完全可见,然后对时钟擦除进行动画处理以将其隐藏起来,这是一件简单的事情。