最简单的做法是修改视图层的属性。为此,您需要为您的视图设置“想要图层”的标志(这些天我主要在 iOS 中工作,所以我忘记了它的确切名称。)当您为视图执行此操作时,该视图及其所有内容子视图由 CALayer 对象支持。
默认情况下,对图层可动画属性的更改是“隐式”动画的。您还可以在 CATransaction 开始/结束块中包含对图层属性的更改,以更改图层时序和动画曲线等内容。
复杂性的下一步是创建 CAAnimation 对象并将它们添加到您的图层。从 CABasicAnimation 开始。您应该能够在网上找到向您展示如何使用 CABasicAnimations 为图层属性设置动画的教程。
恐怕文档很薄。
iOS 添加了一组视图动画方法,使动画视图变得非常容易。可悲的是,Mac OS 上没有等价物。您必须处理动画代理,这有点令人困惑。您可能会查看几本 Core Animation 书籍。一个是Marcus Zarra的,另一个是Bill Dudney的。
编辑:我在(相当旧的)帖子中没有提到的另一个选项:Mac OS 视图对象有一个叫做动画代理的东西。您可以将属性更改发送到视图的动画代理,系统会创建一个进行该更改的动画。
如果您使用自动布局,请注意更改视图的框架或边界不会按预期工作,因为自动布局会尝试接管视图对象的大小和位置。相反,您希望将出口添加到您的约束,并对约束的设置进行动画更改。