2
我在同一個viewController上實現了NSTimer(重複)和UITableView。UIScrollView塊運行循環?
不知何故,當我瀏覽tableView時,運行循環似乎停止觸發NSTimer。 UITextView也是UIScrollView的子類。
我可以知道這裏發生了什麼嗎?
我在同一個viewController上實現了NSTimer(重複)和UITableView。UIScrollView塊運行循環?
不知何故,當我瀏覽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];