如何使用计时器找到按钮上的触摸

时间:2010-11-25 15:02:05

标签: iphone cocoa-touch

我有按钮事件。如果单击(触摸)按钮我正在执行翻转操作。如果双击按钮我正在执行另一个未隐藏的其他按钮操作。两个相同的按钮event.i试图在图像触摸但没有得到。如何找到单击或双击点击按钮。如何实现计时器以找到任何样本或教程的触摸..

2 个答案:

答案 0 :(得分:2)

这可能会让你开始..

(我已使用0.5作为超时值,但您可能想要更改此内容)

    -(void)butonEvent:(id)sendr{


    if(buttonTimer)[self doublePress];
    else
    {

    //buttonTimer is a local NSTimer

    buttonTimer = [NSTimer scheduledTimerWithTimeInterval: 0.5
                     target: self
                     selector: @selector(handleTimer:)
                     userInfo: nil
                     repeats: NO];
    }

    }


    -(void)singlePress{
[buttonTimer invalidate];buttonTimer=nil;//edit
    NSLog(@"Single Press");
    }

    -(void)doublePress{
[buttonTimer invalidate];buttonTimer=nil;//edit
    NSLog(@"doublePress");
    }

    -(void)handleTimer:(id)sendr
    {        
    [self singlePress];
    }

答案 1 :(得分:2)

UIButton Events有两个选项,

您可以使用以下方法进行检测,    单击 TouchDown ,    双击 TouchDownRepeat 。 您可以像使用TouchUpInside一样使用IB连接您的UIButton,并根据这一点编写您的编码。