定时器方法(1)
// 添加定时器方法
- (void)addTimer {
#warning mark - 如果在用定时器是忽略它的运行模式时就用下面这个方法
// 给控制器添加一个定时器 让它每3秒调用一次nextPage方法
// self.timer = [NSTimer scheduledTimerWithTimeInterval:2.0 target:self selector:@selector(nextPage) userInfo:nil repeats:YES];
定时器方法(2)
//如果在用定时器时要考虑运行模式问题,建议用下面这两行代码
// 下面这两句话和上面一行代码是等价
self.timer = [NSTimer timerWithTimeInterval:2 target:self selector:@selector(nextPage) userInfo:nil repeats:YES];
// [self.timer fire];
// 把定时器添加到运行循环 改变它的执行模式为通用模式
[[NSRunLoop currentRunLoop] addTimer:self.timer forMode:NSRunLoopCommonModes];
}
// 手动调用之后让定时器执行时间在很遥远未来
- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView {
// 让它在未来4001年后再开始定时器
self.timer.fireDate = [NSDate distantFuture];
}
// 当用户停止拖拽之后2秒之后再开始执行定时器
- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate {
// 让定时器两秒之后再开始执行
self.timer.fireDate = [NSDate dateWithTimeIntervalSinceNow:2];
}