0

前もって感謝します:私は次のようなビュー階層を持っています:

この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クラス内では、そのレイヤはCALayerbyCALayer * layer = (CALayer *) self.layerに設定され、CAShapeLayerは のマスクにCALayer設定され、アニメーションはシェイプ レイヤのパスに設定されます。

そして、レイヤーに触れられるようにしたいと思いますUIViewController

レイヤーがサブビューとして追加さCALayerれるように設定されているビュー内で CAShapeLayer によってアニメーション化されているレイヤーからタッチ ポイントを取得することは可能ですか? UIViewController例を挙げてください。

よろしくお願いします。よろしく。

4

2 に答える 2