私はC4を少し拡張しようとしており、ジェスチャーとアニメーションがC4Shapeオブジェクトでどのように機能するかを理解しようとしています。ソースを調べたところ、すべてCAShapeLayersに基づいているようで、ジェスチャ認識機能を直接接続することはできません。誰かがこれがC4でどのように機能するか説明できますか?
質問する
111 次
1 に答える
3
そうです、C4で表示されるすべてのオブジェクトは、サブクラスCALayerに基づいています。たとえば、C4ShapesサブクラスC4ShapeLayersに対して、C4MoviesサブクラスC4PlayerLayer(すでにCALayerのサブクラスであるAVPlayerLayerのサブクラス)、および画像は基本的なCALayerのコンテンツとして描画されます。
ただし、これらの各レイヤーはUIControl(UIView)のサブクラスに含まれているため、すべてのレイヤーで個別にタッチを登録でき、すべてのレイヤーにジェスチャレコグナイザーをアタッチできます。
例として、C4Shapeの階層は次のとおりです。
UIView> UIControl> C4Control(メインレイヤーとしてC4ShapeLayerを使用)。
映画の場合:
UIView> UIControl> C4Control(メインレイヤーとしてC4PlayerLayerを使用)。
等
したがって、表示されるすべてのオブジェクトには次のものがあります。
UIView> UIControl> C4Control
...C4Controlオブジェクトのカスタムレイヤーを使用します。
于 2012-05-23T16:46:52.937 に答える