I have a simple timer using that is activated with a button is pushed. It runs from 60 to 0 no problem but what I want is to stop and reset the timer on push button. I have
What do you mean to stop the timer? Timer is not going to stop. You would like to have to have countDownLabel.text
to show 60? When you invalidate the timer it will stop running and calling timerRun
method If you want to restart the timer just call setTimer
function again. I think what you meant is to have countDownLabel.text = @"60"
after [countdownTimer invalidate];
and when you click the button again the timer will start again and will change the label. Let me know if this is what you were looking for.
As Christian said you have to reset the secondCounter
secondCounter = 0;
You need to set the seconds down to 0, otherwise the you always invalidate your timer, but never start it again:
- (IBAction)timerStart:(id)sender {
if(!secondCounter == 0) {
[countdownTimer invalidate];
secondCounter = 0;
}
else {
[self setTimer];
}
}