UIImageView
をアニメーション化するときに、UITapGestureRecognizer
が追加されても機能しません。なぜ???UIImageViewをアニメーション化するとUITapGestureRecognizerが機能しない
-(void) testTap:(id)sender {
NSLog(@"Test tap...");
}
-(void) testSlide {
UITapGestureRecognizer* testTap = [[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(testTap:)] autorelease];
testTap.numberOfTapsRequired = 2;
UIImageView* imageView = [[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"tip_slide"]] autorelease];
[imageView setFrame:CGRectMake(40, 40, 200, 200)];
imageView.userInteractionEnabled = YES;
imageView.multipleTouchEnabled = YES;
[imageView addGestureRecognizer:testTap];
[self.view addSubview:imageView];
// When I add the following code, the UITapGestureRecognizer will not work. WHY???
imageView.alpha = 0;
CGAffineTransform t = imageView.transform;
if (CGAffineTransformIsIdentity(t)) {
UIViewAnimationOptions options = UIViewAnimationCurveEaseInOut;
[UIView animateWithDuration:1.0 delay:0 options:options animations:^{
imageView.alpha = 1.0;
} completion:^(BOOL finished) {
if (finished) {
[UIView animateWithDuration:1.0 delay:2.0 options:options animations:^{
imageView.alpha = 0.4;
} completion:^(BOOL finished) {
if (finished) {
[imageView removeFromSuperview];
}
}];
}
}];
}
}
OMG。それがなぜ機能しないのか理解するために何時間も費やした。あなたの答えは命の恩人です! – GeneCode