按下按钮时停止动画

时间:2014-12-26 07:59:32

标签: ios objective-c iphone animation uibutton

我正在使用下面的代码,这是一个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.
}

1 个答案:

答案 0 :(得分:2)

尝试添加此内容:

[sender.layer removeAllAnimations];
点击中的

:( UIButton *)发送方法。