UIScrollView блокирует цикл выполнения? - PullRequest
2 голосов
/ 26 сентября 2011

Я реализовал NSTimer (повторы) и UITableView на одном и том же viewController.

Каким-то образом, когда я прокручиваю tableView, цикл выполнения, кажется, перестает запускать NSTimer.То же самое касается UITextView, который также является подклассом UIScrollView.

Могу ли я знать, что здесь происходит?

1 Ответ

9 голосов
/ 26 сентября 2011

Причина, по которой таймер прекращает срабатывание, заключается в том, что цикл выполнения переключается на UITrackingRunLoopMode во время прокрутки, и таймер по умолчанию не добавляется в этот режим. Вы можете сделать это вручную при запуске таймера:

NSTimer *timer = [NSTimer timerWithTimeInterval:1.0 target:self selector:@selector(timerFired:) userInfo:nil repeats:YES];
NSRunLoop *runloop = [NSRunLoop currentRunLoop];
[runloop addTimer:timer forMode:NSRunLoopCommonModes];
[runloop addTimer:timer forMode:UITrackingRunLoopMode];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...