touchesEnded与UIButton结合时没有被调用?

时间:2013-05-09 15:18:40

标签: iphone uibutton touches uianimation uiswipegesturerecognizer

我已经实现了当我的UIButton突出显示并且我的UISwipeGestureRecognizer识别出手势时它将开始动画。问题是我想在选择touchesEnded并做出手势后调用UIButton时结束动画。但是,如果我在此过程中点按touchesEnded,则UIButton永远不会被调用。

剩下的时间它可以工作,但如果我在动画期间无法使用它,它对我来说毫无用处。这是我做的:

-(IBAction) swipeDown:(UISwipeGestureRecognizer *)recognizer
{
     if(onebutton.highlighted)
     {
          //Animate
     }
}

- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event 
{ 
    for(UITouch *touch in touches)
    { 
        if(touch.phase == UITouchPhaseEnded)
        { 
            NSLog(@"touched");
        } 
    } 
}

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

而不是touchesEnded,你可以为你的按钮添加另一个动作,当它被释放时触发。

[button addTarget:self action:@selector(buttonTapEnded) forControlEvents:(UIControlEventTouchUpInside|UIControlEventTouchUpOutside)];