cocoa - 将动画添加到框架代理或 CALayer 之间的区别

标签 cocoa core-animation

在我看来,通常有两种方法可以向 NSView 或其派生 View 类添加动画。一种方法是将动画添加到帧的代理中,另一种方法是直接将其添加到CALayer中。

最佳实践应该是什么?这两种方法有什么区别吗?在第一种方法中,代理是否也在场景后面将动画配置到 CALayer,所以这两种方法实际上是等效的?

提前致谢!

最佳答案

如果您使用的是层支持的NSView,那么您通常应该使用动画代理。这确实会为支持层以及 View 本身设置动画。

如果您只是为图层设置动画, View 本身将保留在其原始位置,但其表示形式会在屏幕上移动。这很少是您想要的。

我建议仅对您专门创建的 CALayer 对象进行动画处理,而不是对层支持的 NSView 的隐式层进行动画处理。

关于cocoa - 将动画添加到框架代理或 CALayer 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6818997/

相关文章:

cocoa - 简单的 NSSpeechRecognizer 代码,不起作用!

swift - 围绕底部旋转图像?

objective-c - 当所有子复选框都被选中时,如何使大纲 View 中的复选框被选中?

iphone - 从导航 Controller 堆栈中删除所有 Viewcontroller 的最佳方法

objective-c - 是否可以在 Cocoa 中绑定(bind)空占位符?

macos - 太阳经过天空仅需10小时

core-graphics - 绘制离屏 CALayer 内容的最快方法

objective-c - NSTask:由于没有提供 userInfo 字典,如何在结论时获取上下文?

cocoa-touch - 如何在 UIImageView 中平移图像?

core-animation - 如何获得转换后的 CALayer 的实际大小?