私は uitableview を持っています。カスタム tableview セルは、別の uiview サブクラスを contentView に挿入して各セルの内容を表示します。ビューの drawRect メソッドを使用して、各セルに 20 を超える数値を書き込みます。
ここで、値が前の値から増加したか減少したかに応じて、各数値の色をアニメーション化する必要があります。
この目的で CATextLayer を使用しているため、CAAnimation を使用して foregroundColor プロパティをアニメーション化できます。しかし、このプロセスでは、20 行以上あるため、iOS はほぼ 400 の CAAnimation を同時にトリガーしようとしています。そして、これはパフォーマンスに深刻な影響を与えています。
この作業では CAShapeLayer の方がはるかに重いことがわかりました。
さらに、CATextLayer を使用すると、フォントがぎざぎざでぎざぎざに見えます。
私の質問は、そのようなことを行うための最良の方法は何であるかということです。
CAAnimationGroup 内のアニメーションのコレクションは 1 つのスレッドで実行されますか? 実際には、特定の行の 20 個の CAAnimation を CAAnimationGroup にグループ化しようとすると、個別に起動するよりもパフォーマンスが向上します。