前もって感謝します:私は次のようなビュー階層を持っています:
このUIView
中で私が設定した:CALayer * layer = (CALayer*) self.layer
そして、このクラス内にはCAShapeLayer
、のマスクとして設定された がありCALayer
ます。
問題なくアニメーションします。
私はUIViewController
上記を次のように初期化していますUIView
:
myView = [myAnimationView alloc] initWithFrame:(CGRect){{0, 0}, 320, 450}];
[self.view addSubview myView];
だから私が持っているのは、UIView
クラスと上記のUIViewController
クラスです。他には何もありません。
アニメーションとしてCAShapeLayer
(これは、小さな円から大きな円にスケーリングする基本的な ca アニメーションにすぎません)、UIViewController
この初期化内でタッチ ポイントを取得できることを願っています。UIView
ここで hitTest:WithEvents: を使用する必要がありますか? 試してみましたが、3回呼び出されます。返されたポイントは正しいですが、アニメーション ビューがコンテナー ビューから触れられているかどうかを知る方法を見つけたいと思っていました。つまり、subView /subLayer に触れているかどうかを知りたいのです。
要約すると、ここに私のビュー階層があります:
UIViewController
クラスを初期化し、UIView
サブビューとして追加します。このUIView
クラス内では、そのレイヤはCALayer
byCALayer * layer = (CALayer *) self.layer
に設定され、CAShapeLayer
は のマスクにCALayer
設定され、アニメーションはシェイプ レイヤのパスに設定されます。
そして、レイヤーに触れられるようにしたいと思いますUIViewController
レイヤーがサブビューとして追加さCALayer
れるように設定されているビュー内で CAShapeLayer によってアニメーション化されているレイヤーからタッチ ポイントを取得することは可能ですか? UIViewController
例を挙げてください。
よろしくお願いします。よろしく。