2011-06-18 14 views
3

このオブジェクトは半透明レイヤーを実装して、必要に応じてユーザーの応答を収集します。半透明レイヤーには、ユーザーが選択できるアイコンがいくつかあります。現在、私はokと思われるCALayerオブジェクトを使用しています。アニメーションの動作でいくつかのビルドがあります。CALayerとUIViewについての質問

しかし、問題はCALayerがタッチイベントに全く反応しないことです。今私は代わりにUIViewを使用する必要があると思っています。 UIViewはUIResponderを継承しているため、そのオブジェクトは当然ユーザのイベントに応答することができます。

これはUIViewとCALayerの間の決定です。 CALayerにとって、私はかなりの作業を行っています。加えなければならないタッチレスポンスを除いてはかなりokです。または、代わりにUIViewをサブビューとして使用する必要があります(ビルド・イン・タッチの応答があるため)。

これに関する知識がある誰かがユーザーとの対話に応答するためには...

答えて

5

を助けることができることを願って、最良の方法は、UIViewを使用することです。あなたはおそらくそれを使わずに働くことができますが、私はそれをお勧めしません。 UIViewで既存のレイヤを統合するよう

、私はUIViewのサブクラスを作成し、カスタムCALayerClassを返すためにその+layerClassメソッドをオーバーライドすると思います。また、カスタムのCALayerサブクラスを使用していない場合は(そして実際には独自のサブクラスを作成する必要はほとんどありません)、UIView-drawLayer:inContext:メソッドでカスタム図面を作成できます。

+1

あなたのアドバイスと説明をありがとう。 UIViewでその部分を再加工することを真剣に検討しているはずです。それは難しい決定ですが、それは良い学習経験になるでしょう。ありがとう... – Stanley

関連する問題