马特有正确的想法 .
你想要做的是使用Core Animation和CAShapeLayer . 图层具有可选的蒙版属性,该属性控制可见的图层部分 . 您可以添加CAShapeLayer作为另一个图层的蒙版 .
如果在形状图层上安装了一个圆形的CGPath,则使用CABasicAnimation在不同的较大圆形路径中进行动画处理,Core Animation将为更改设置动画 .
动画更改形状图层中路径的关键是使起始路径和结束路径具有相同数量的控制点 . 在您的情况下,您应该能够使用CGPathAddEllipseInRect创建具有不同边界矩形的起始和结束椭圆 .
我在github上有一个项目,包括使用路径动画来为图像视图的图层上的蒙版设置动画 . 该项目名为"iOS CAAnimation group demo",您可以通过以下链接下载: https://github.com/DuncanMC/iOS-CAAnimation-group-demo . 该项目的主要部分是使用Core Animation动画组来应用一系列动画,但它还包括蒙版动画 .
在该项目中,蒙版动画创建了“时钟擦除”过渡:
...但你应该能够使用基本结构来获得你想要的效果 . 看看,如果你无法获得你想要的效果,请告诉我 .
我有一个Youtube视频,显示我创建的不同过渡 . 视频中大约55秒的“Iris Circle”过渡非常接近你所追求的: