我在同一viewController上实现了NSTimer(repeats)和UITableView。
不知何故,当我滚动查看tableView时,运行循环似乎停止触发NSTimer。
UITextView也是如此,它也是UIScrollView的子类。
我可以知道这里发生了什么吗?
最佳答案
计时器停止触发的原因是运行循环在滚动期间切换到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];
关于iphone - UIScrollView块是否运行循环?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7551411/