首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Cocoa应用程序OS X中为对象设置动画

在Cocoa应用程序OS X中为对象设置动画
EN

Stack Overflow用户
提问于 2012-12-31 03:42:26
回答 1查看 422关注 0票数 0

我希望在我为OS X编写的可可应用程序中创建简单的动画(淡入淡出,窗口滑动,图形移动或“填充”)。我曾尝试查找关于核心动画,核心图形,NSViewAnimation和石英作曲器的信息以及如何在可可应用程序中使用这些信息,但我很快就迷失了方向。还有一位消息人士说,从MountainLion开始不再支持核心动画。基本动画应该使用什么?是否有一个特定的框架或第三方库将是有用的,或一个最佳实践方法,以动画的生产力应用程序?

我很抱歉没有说得更具体,但我有点困惑到底该查找什么。

EN

回答 1

Stack Overflow用户

发布于 2012-12-31 06:23:47

要做的最简单的事情就是修改视图图层的属性。要做到这一点,你需要为你的视图设置“想要层”的标志(我最近主要在iOS中工作,所以我忘记了它到底叫什么)。当您对一个视图执行此操作时,该视图及其所有子视图都由CALayer对象提供支持。

默认情况下,对层的可设置动画属性的更改是“隐式”设置动画的。您还可以将对图层属性的更改包含在CATransaction begin/end块中,以更改图层计时和动画曲线等内容。

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

我担心,文档非常单薄。

iOS添加了一组视图动画方法,使动画视图变得非常容易。遗憾的是,在Mac OS上没有类似的功能。你必须处理动画代理,这有点令人困惑。有几本核心动画书,你可以去看看。一个是Marcus Zarra写的,另一个是Bill Dudney写的。

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

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

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14093997

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档