UIScrollView阻止运行循环?

时间:2011-09-26 06:38:50

标签: iphone ios uiscrollview

我在同一个viewController上实现了NSTimer(重复)和UITableView。

不知何故,当我滚动tableView时,运行循环似乎停止触发NSTimer。 UITextView也是如此,UITextView也是UIScrollView的子类。

我可以知道这里发生了什么吗?

1 个答案:

答案 0 :(得分:9)

计时器停止触发的原因是在滚动期间运行循环切换到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];