0

我正在为 OS X 编写的 Cocoa 应用程序中创建简单的动画(淡入淡出、窗口滑开、图形移动或“填充”)。我尝试查找有关 Core Animation、Core Graphics、NSViewAnimation 的信息,和 Quartz Composer 以及如何在 Cocoa 应用程序中使用它们,但我很快就迷失了方向。还有一位消息人士称,从 MountainLion 开始不再支持 Core Animation。基本动画应该使用什么?是否有有用的特定框架或第三方库,或者动画生产力应用程序的最佳实践方法?

我很抱歉没有更具体,但我对究竟要查找什么感到有点困惑。

4

1 回答 1

3

最简单的做法是修改视图层的属性。为此,您需要为您的视图设置“想要图层”的标志(这些天我主要在 iOS 中工作,所以我忘记了它的确切名称。)当您为视图执行此操作时,该视图及其所有内容子视图由 CALayer 对象支持。

默认情况下,对图层可动画属性的更改是“隐式”动画的。您还可以在 CATransaction 开始/结束块中包含对图层属性的更改,以更改图层时序和动画曲线等内容。

复杂性的下一步是创建 CAAnimation 对象并将它们添加到您的图层。从 CABasicAnimation 开始。您应该能够在网上找到向您展示如何使用 CABasicAnimations 为图层属性设置动画的教程。

恐怕文档很薄。

iOS 添加了一组视图动画方法,使动画视图变得非常容易。可悲的是,Mac OS 上没有等价物。您必须处理动画代理,这有点令人困惑。您可能会查看几本 Core Animation 书籍。一个是Marcus Zarra的,另一个是Bill Dudney的。

编辑:我在(相当旧的)帖子中没有提到的另一个选项:Mac OS 视图对象有一个叫做动画代理的东西。您可以将属性更改发送到视图的动画代理,系统会创建一个进行该更改的动画。

如果您使用自动布局,请注意更改视图的框架或边界不会按预期工作,因为自动布局会尝试接管视图对象的大小和位置。相反,您希望将出口添加到您的约束,并对约束的设置进行动画更改。

于 2012-12-30T22:23:46.933 回答