我有一个带倒数计时器的应用程序。我再也忍受不了与从定时器这样调用功能更新标签使其:NSTimer在拖动UITableView时不工作
...
int timeCount = 300; // Time in seconds
...
NSTimer *myTimer = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(actualizarTiempo:) userInfo:nil repeats:YES];
...
- (void)actualizaTiempo:(NSTimer *)timer {
timeCount -= 1;
if (timeCount <= 0) {
[timer invalidate];
} else {
[labelTime setText:[self formatTime:timeCount]];
}
}
注:formatTime是收到一个整数(秒为单位)的函数,返回的NSString与格式毫米:ss
一切正常,也就是说,时间倒计时,但问题是,我有一个UITableView在应用程序中,如果我触摸表并拖动它(沿细胞移动)计时器停止,直到我从屏幕释放我的手指...
这种行为是否正常?如果是这样,是否有任何方法可以避免它,并在拖动表格时使计时器工作?
非常感谢您的帮助,它适用于此解决方案。我会仔细看看循环模式,以获得更适合我的事件的模式 – rai212 2012-07-30 14:54:44
不要忘记'[timer invalidate];'on viewWillDisappear'或任何其他方法,或者您将一次又一次地启动计时器。 – skornos 2015-07-21 10:26:56