2 vikeytoy vikeyToy 于 2012.10.17 13:15 提问

检测最后五次点击UIbutton的时间

要实现的功能是:用户在三秒钟内点击五次UIButton。我已经实现的是,如果用户连续点击就能返回正确值。但是如果点击一下,然后两秒后点击另外两次,计数器只会记录第一下。

怎么检测用户是否在三秒钟内点击了五次?谢谢

这是我的代码:

-(void)btnClicked{
 counter++;

if (totalTime <=3 && counter==5) {

        NSLog(@"My action");

}}

2个回答

Mr_me
Mr_me   2012.10.17 16:51
已采纳

废话不说,上代码:

counter = 0;
timedOut = NO;

- (void)buttonClicked:(UIButton *)btn
{
    if ((++counter >= 5) && !timedOut) {
        NSLog(@"User clicked button 5 times within 3 secs");

        // for nitpickers
        timedOut = NO;
        counter = 0;
    }
}

// ...

[NSTimer scheduledTimerWithTimeInterval:3.0
    target:self
    selector:@selector(timedOut)
    userInfo:nil
    repeats:NO
];

- (void)timedOut
{
    timedOut = YES;
}
vikeyToy
vikeyToy 谢谢,
5 年多之前 回复
g989_1314125
g989_1314125   2012.10.17 17:03

我的代码可能帮你

int counter = 0;
BOOL didTimeOut = NO;

- (void)buttonClicked:(UIButton *)button {
    counter ++;
    if (counter == 1) {
        didTimeOut = NO;
        [NSTimer scheduledTimerWithTimeInterval:3.0f
                                         target:self
                                       selector:@selector(timedOut)
                                       userInfo:nil
                                        repeats:NO
         ];
    } else {
        if ((counter >= 5) && !didTimeOut) {


            counter = 0;
            didTimeOut = NO;
        }
    }

}

- (void)timedOut {
    didTimeOut = YES;
}
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!