我有一個帶倒數計時器的應用程序。我再也忍受不了與從定時器這樣調用功能更新標籤使其: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