如何检查UIButton在一秒钟内按下的次数

时间:2015-10-15 06:57:20

标签: ios xcode uibutton counter apple-watch

我正在开发一个简单的苹果手表演示。我想在其中检查{1}按一秒钟的次数 给我一些暗示我的问题。
以下是我实施的一些代码:

UIButton

随时询问我的代码。并且还给了我一些建议。

4 个答案:

答案 0 :(得分:1)

全局变量:

int buttonTapCounts;

viewDidLoad方法:

[self performSelector:@selector(checkCount) withObject:nil afterDelay:1.0];

UIButton事件的方法:

-(IBAction)tapButtonClicked:(id)sender { buttonTapCounts ++; }

1秒后检查计数器:

-(void)checkCount
{ 
     NSLog(@"Button tap clicked : %d times", buttonTapCounts);

    // Resetting the button count
    buttonTapCounts = 0;
}

答案 1 :(得分:0)

[NSTimer scheduledTimerWithTimeInterval:1.0
                                 target:self
                               selector:@selector(calculateClickRate)
                            userInfo:nil
                        repeats:YES];

-(void) calculateClickRate
{
 float rate = clicks;
 clicks = 0;
}

答案 2 :(得分:0)

如果你在课堂上制作一个计数器和时间开始变量,就像这样

var pressesInOneSecond = 1
var timeStart: NSDate?

你可以使用类似这样的东西计算按钮按下操作的按下次数

@IBAction func buttonWasPressed(sender: AnyObject) {
    if timeStart == nil {
        timeStart = NSDate()
    } else {        
        let end = NSDate()
        let timeInterval: Double = end.timeIntervalSinceDate(timeStart!)
        if timeInterval < 1 {            
            pressesInOneSecond++
        } else {
            // One second has elapsed and the button press count 
            // is now stored in pressesInOneSecond.
            print("presses in one second was \(pressesInOneSecond)")
        }
    }
}

按钮上的计数器可以使用

重置
pressesInOneSecond = 1
timeStart = nil

要说明这是如何运作的,NSDate()会为您提供当前时间,NSTimeInterval中记录的timeInterval是衡量开始时间与结束时间的关系,以秒为单位。对于此示例,计数限制设置为1秒。计数从第一次按下开始,并在1秒后按下。

答案 3 :(得分:0)

感谢发布答案的人 我使用代码解决了这个问题 这是我的按钮点击方法:

 - (IBAction)saveCounter {
        [myAudioPlayer play];
        //Send count to parent application
        CurrentTime = [[NSDate date] timeIntervalSince1970] * 1000;
        NSLog(@"Current Time: %f",CurrentTime);

        if ((CurrentTime - StartTime) < 500)
        {
            myAudioPlayer.volume = myAudioPlayer.volume +0.1;
        }
        else
        {
            myAudioPlayer.volume = 0.5;
        }
        StartTime = CurrentTime;

        //self.counter++;
    }  

StartTimeCurrentTimedouble变量。