在我看来,通常有两种方法可以向 NSView 或其派生 View 类添加动画。一种方法是将动画添加到帧的代理中,另一种方法是直接将其添加到CALayer中。
最佳实践应该是什么?这两种方法有什么区别吗?在第一种方法中,代理是否也在场景后面将动画配置到 CALayer,所以这两种方法实际上是等效的?
提前致谢!
最佳答案
如果您使用的是层支持的NSView
,那么您通常应该使用动画代理。这确实会为支持层以及 View 本身设置动画。
如果您只是为图层设置动画, View 本身将保留在其原始位置,但其表示形式会在屏幕上移动。这很少是您想要的。
我建议仅对您专门创建的 CALayer
对象进行动画处理,而不是对层支持的 NSView
的隐式层进行动画处理。
关于cocoa - 将动画添加到框架代理或 CALayer 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6818997/