我有一个简单的计时器使用,按下按钮激活.它从60到0没有问题,但我想要的是停止并重置按钮上的计时器.我已经设法在使用下面的代码按下按钮时停止它,但由于某种原因无法让它重置并停在60.这应该很简单,但它不起作用.有什么建议?
使用简单的Action设置定时器
- (IBAction)timerStart:(id)sender {
if(!secondCounter == 0){
[countdownTimer invalidate];
}
else {
[self setTimer];
}
}
Run Code Online (Sandbox Code Playgroud)
定时器代码
- (void)timerRun {
secondCounter = secondCounter - 1;
int minutes = secondCounter;
NSString *timerOutput = [NSString stringWithFormat:@"%d", minutes ];
countDownLabel.text = timerOutput;
if(secondCounter == 0){
[countdownTimer invalidate];
countdownTimer = nil;
}
}
- (void)setTimer {
secondCounter = 60;
countdownTimer = [NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(timerRun) userInfo:nil repeats:YES];
}
Run Code Online (Sandbox Code Playgroud)
您需要将秒数设置为0,否则您总是使计时器无效,但永远不会再次启动它:
- (IBAction)timerStart:(id)sender {
if(!secondCounter == 0) {
[countdownTimer invalidate];
secondCounter = 0;
}
else {
[self setTimer];
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9900 次 |
| 最近记录: |