0

uiviewサブクラスを作成し、インスタンス化しました(マスタービューと呼びます)。このuiviewサブクラスには、独自のジェスチャレコグナイザーとタッチイベントオーバーライド、およびこれらのタッチイベントに対応するアニメーション(回転や反転など)が含まれています。

このサブクラス(または同様のサブクラス)の別のインスタンス化を作成して、スレーブビューと呼びます。スレーブビューは外観がマスターと同じである必要がありますが、タッチイベント自体には応答しません。代わりに、スレーブは本質的に、マスタービューでロックステップでアニメーション化するリモート制御ドローンである必要があります。

私はこれを行う方法について頭を悩ませようとしていました...マスターがスレーブビューのアニメーションデリゲートメソッドを呼び出すことができるように、スレーブサブクラスを作成できる可能性があります。したがって、マスターでのすべてのアニメーション呼び出しは、同じ変換でスレーブのメソッドも呼び出します。

親ビューには複数のマスタースレーブペアがあり、各マスタースレーブペアは個別にアニメーション化されます。ジェスチャ認識機能とアニメーションを親レベルに移動したくないのです。

このマスタースレーブペアのコードパターンについて何か考えはありますか?デリゲートを呼び出すことについての私の理解は難しいかもしれませんが、複数のマスター/スレーブのペアに行くと、デリゲートメソッドがここでは機能しないと感じますか?

4

2 に答える 2

1

どのオブジェクトがスレーブを作成しますか?親ビューまたはマスター?マスターに独自のスレーブを作成させる場合は、それ自体をスレーブのデリゲートとして設定できます。各マスターはスレーブクラスの特定のインスタンスのデリゲートになるため、複数のペアを使用しても問題はありません。

于 2012-12-16T22:25:32.843 に答える
0

編集:

あなたのコメントの後、私はあなたの質問を誤解していることに気づきました。スレーブを適切なマスターの代理人にすることが道です。そのように設定されると、マスターは必要に応じてデリゲートメソッドを呼び出すことができます(もちろん、デリゲートが設定されていると仮定します)。

于 2012-12-16T21:16:26.833 に答える