在我的项目中,我需要使用UIButton(或其他组件)来长按来处理事件。
让我解释一下,我应该记住我按住按钮的计时器来计数秒数并释放到压力停止,我尝试了UILongPressGestureRecognizer的管理,但不是这种情况,因为当按钮被按下时我会回忆起事件,但是仅当我移动手指时,但我希望计时器消失并在按下按钮的所有时间(手指保持静止)进行计数,并在释放手指时停止计数。

有人知道如何帮助我吗?
谢谢

最佳答案

将这两种方法用于按钮事件。按下按钮时将调用touchDown,将手指从按钮上抬起将调用touchUp。计算这两种方法之间的时间差。您也可以在touchDown中启动计时器,并在touchUp中停止/重新启动计时器。

//connect this action with Touch up inside
- (IBAction)touchUp:(id)sender {
    NSLog(@"up");
}

//connect this to tocuh down
- (IBAction)touchDown:(id)sender{
    NSLog(@"down");
}




更新
在编码中你可以这样写

[btn addTarget:self action:@selector(touchUp:) forControlEvents:UIControlEventTouchUpInside];
[btn addTarget:self action:@selector(touchDown:) forControlEvents:UIControlEventTouchDown];


和在xib

10-08 06:25