我对Cocoa编程很新。我有自定义视图(iBox),其中有另外8个自定义视图(iCircle)。我想制作动画,它会调整iBox的大小,并将8个iCircles中的每一个移动到距离iBox特定一侧一定距离。
我用最简单的方式做到了。创建了一个NSViewAnimation对象,其中包含9个NSDictionaries,包含8个iCircles和iBox中的每一个的NSViewAnimationTargetKey,NSViewAnimationStartFrameKey,NSViewAnimationEndFrameKey。
因此,当我开始动画时,它播放速度非常慢,如幻灯片,但不是动画。它看起来像是在非常老的GPU上运行的3D游戏。如果我只为iBox和1 iCircle设置动画,它可以流畅播放。
所以我的问题是:你知道究竟是什么导致了这种行为吗?是NSViewAnimation对象中的大量字典,还是大量的iCircles。也许他们应该像NSViewCells。我在某处读到使用单元格比相同类型的单独视图更有效。
优化此类动画以提高效率并顺利运行的最佳方法是什么?
我非常感谢对这个问题的任何帮助。