我有下面的代码,它是UIButton的动画。但是,当按下按钮时,我希望动画立即停止并执行其他操作,而如果动画继续执行,它将执行其他操作。我的问题是,即使我按下该按钮,动画也会继续,它将同时执行步骤1和2。
我在代码中缺少什么?
int frame1 = 600;
int frame2 = 100;
hit11 = [[UIButton alloc]initWithFrame:CGRectMake((arc4random() % (frame1 - frame2)+frame2),200,20,20)];
[hit11 addTarget:self action:@selector(hit:) forControlEvents:UIControlEventTouchUpInside];
[hit11 setBackgroundImage:[UIImage imageNamed:@"touchrightdown.png"] forState:UIControlStateNormal];
[self.view addSubview:hit11];
[UIView animateWithDuration:2.0 delay:0.1 options:UIViewAnimationCurveEaseIn | UIViewAnimationOptionAllowUserInteraction animations:^{
hit11.transform = CGAffineTransformMakeScale(7,7);
hit11.alpha=0.5;
} completion:^(BOOL finished) {
if (finished) {
//DO STEP 2.
hit11.hidden=YES;
}
NSLog(@"got hit");
}];
-(void) hit:(UIButton*)sender{
NSLog(@"1/10");
//DO STEP 1.
}
最佳答案
尝试添加以下内容:
[sender.layer removeAllAnimations];
在您的hit:(UIButton *)sender方法中。