在我看来,通常有两种方法可以将动画添加到NSView或其派生的视图类中。一种方法是将动画添加到框架的代理,另一种方法是将其直接添加到CALayer。
最佳做法应该是什么?这两种方法之间有什么区别吗?在第一种方法中,代理是否也将动画配置为场景后面的CALayer,这两种方式实际上是等价的?
提前致谢!
答案 0 :(得分:2)
如果您使用的是图层支持的NSView
,则通常应使用动画代理。这确实会为背衬层和视图本身设置动画。
如果您只是为图层设置动画,则视图本身将保留在其原始位置,但其表示将在屏幕上移动。这很少是你想要的。
我建议只动画您专门创建的CALayer
个对象,而不是图层支持的NSView
隐式图层。