我有一个 uitableview,其中自定义 tableview 单元格在其 contentView 中插入另一个 uiview 子类以显示每个单元格内容,我使用视图 drawRect 方法在每个单元格上写入 20 多个数字。
现在我需要根据每个数字的值是从之前的值增加还是减少,为每个数字的颜色设置动画。
为此,我使用 CATextLayer,以便我可以使用 CAAnimation 为 foregroundColor 属性设置动画。但在这个过程中,iOS 试图同时触发近 400 个 CAAnimation,因为我也有 20 行或更多行。这严重影响了性能。
我发现 CAShapeLayer 对于这项工作来说要重得多。
此外,当我使用 CATextLayer 时,我的字体看起来非常锯齿,而且前卫。
我的问题是做这种事情的最佳方法是什么。
CAAnimationGroup 中的动画集合是否在一个线程下运行,实际上我的观点是,如果我尝试将特定行的 20 个 CAAnimations 分组到 CAAnimationGroup 中,而不是单独触发它们,它会提高性能。