Mam aplikację z licznikiem odliczającym. Zrobiłem go z etykietą, która jest aktualizowana z funkcji o nazwie z zegarem w ten sposób:NSTimer nie działa podczas przeciągania 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]];
}
}
Uwaga: formatTime jest funkcją, która otrzyma Integer (liczba sekund) i zwraca NSString z MM : ss
Wszystko działa poprawnie, tzn. czas się odlicza, ale problemem jest to, że mam UITableView w aplikacji i jeśli dotknę tabeli i przeciągnę ją (aby poruszać się wzdłuż komórek), zatrzyma się zegar do zwolnij palec z ekranu ...
Czy to zachowanie jest normalne? Jeśli tak, czy jest jakiś sposób, aby tego uniknąć i sprawić, by timer działał podczas przeciągania stołu?
Bardzo dziękuję za pomoc, działa z tym rozwiązaniem. Przyjrzę się bliżej trybom pętli, aby uzyskać ten, który lepiej pasuje do moich wydarzeń. – rai212
nie zapomnij o "[unieważnianiu zegara];' w 'viewWillDisappear' lub jakiejkolwiek innej metodzie lub będziesz strzelał czasomierz raz po raz . – skornos