私はCoreAnimationでiPadの絵本を作っています。スプライトシートからアニメーションフレームを読み込むために、私はSpriteクラス(CALayerサブクラス)のようにしました。ここに似た何か:http://mysterycoconut.com/blog/2011/01/cag1/。 境界とcontentsRect(そして私の場合は位置も)を設定するためにレイヤーのデリゲートを使用していませんが、CALayerサブクラスの-displayメソッドで直接行っています。CALayer - 表示方法が呼び出されていない
私はダミーを作成し、それは完全に動作していました。私のプロジェクトにコードを移動したとき、私のサブクラスの-displayメソッドはもはや呼び出されません。私はCALayerとCoreAnimation Programming Guideのドキュメンテーションを何回も読んできましたが、-displayメソッドが呼び出されたときの情報はありません。私はそれがテンプレートパターンを使用していることを知っているだけです。つまり、自分で呼び出すべきではなく、-displayメソッド自体を呼び出す[layer setNeedsDisplay]を呼び出す必要があります。私はこれを成功させずにやってみました。
コードが必要な場合は、教えてください。
アイデア?
UPDATE
私は、メソッドが呼び出されていなかった理由を発見しました。それは言及する価値がないので、恥ずかしいです:0。とにかく、私はまだ正確に表示メソッドが呼び出されていることを知ることに興味があります。アニメーションを作成してトリガーする必要があることに気付きました。 [layer addSublayer:myCustomLayer]を使用してレイヤーを表示階層に追加しただけでは、このメソッドは呼び出されませんでした。
困ったことに心配する必要はありません。問題があった場合は、他の人も最終的に回答を投稿することで助けになります。 – jrturton
私の問題に対する解決策は、私の元の問題とは関係がなかったので、誰にとってもあまり興味がないと思っていました。私はとにかく私の愚かな間違いで答えを掲示します。 – strave