私UIImageView
はアニメーション化され、 を受け取っているを持っていUITapGestureRecognizer
ます。問題は、アニメーション化されている間、タップ ジェスチャ領域がビューと共に移動しないことです。ビューの元の場所をタップでき、タップ ジェスチャが認識されます。ビューが元の位置ではなく移動しているときにタップを認識させる方法を知っている人はいますか?
編集1:これは、タップジェスチャ認識エンジンを設定した方法です:
UITapGestureRecognizer *tapRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(viewTapped:)];
tapRecognizer.cancelsTouchesInView = YES;
tapRecognizer.numberOfTapsRequired = 1;
tapRecognizer.delegate = (id)self;
[imageView addGestureRecognizer:tapRecognizer];
imageView.userInteractionEnabled = YES;
アニメーションが数秒続くので、ジェスチャ レコグナイザーがそのパス上で私のビューをたどる方法はありますか? 設定を見逃していませんか?
編集2:これは私のアニメーションを設定するための私のコードです:
double width = backgroundImageView.frame.size.width;
double height = backgroundImageView.frame.size.height;
CGMutablePathRef path = CGPathCreateMutable();
double startX = -imageView.frame.size.width;
double startY = height/4;
double endX = 3*width;
double endY = 0;
double duration = 40;
CGPathMoveToPoint(path, NULL, startX, startY);
CGPathAddLineToPoint(path, NULL, endX, endY);
CAKeyframeAnimation *animation = [CAKeyframeAnimation animationWithKeyPath:@"position"];
animation.duration = duration;
animation.path = path;
animation.repeatCount = HUGE_VALF;
[imageView.layer addAnimation:animation forKey:@"theAnimation"];