我有三个按钮start
stop
和pause
..我的start
和stop
按钮可以正常使用以下代码...但是按下时Pause
暂停计时器..但是当我再次按下start.IT从新增加的时间继续...而不是从暂停时间....
supoose我在5秒开始暂停并等待5秒然后按开始...它应该显示5 ...但显示10 ..
因为我没有在(timer:)
的{{1}}中提及timer!=nill
...
它将如何添加..
我有问题:
start
无效。Pause
答案 0 :(得分:0)
-(void)pause:(NSTimer *)timer
{
pauseStart = [NSDate dateWithTimeIntervalSinceNow:0];
previousFireDate = [_timer fireDate];
//[timer setFireDate:[NSDate distantFuture]];
[_timer setFireDate:[NSDate distantFuture]];
}
答案 1 :(得分:0)
以下是我用于计时器的代码:
我存储了所有组件的时间,我的(单例)类,小时,分钟,秒值。
并且,我只是在“暂停”方法中“使”计时器“无效”,并且我存储了这些值。
请参阅,如果这有帮助。
-(void) startTimer
{
NSLog(@"Values for timer: %d H, %d M, %d S", self.hours, self.minutes, self.seconds);
_timer = [NSTimer scheduledTimerWithTimeInterval:1.0f target:self selector:@selector(updateTimer) userInfo:nil repeats:YES];
}
-(void) pauseTimer
{
if(_timer)
{
[_timer invalidate];
}
_timer = nil;
self.hour = hourValue;
self.minute = minuteValue;
self.second = secondsValue;
}