IOS scrollView添加Timer后不响应scrollViewWillBeginDragging事件,这是为什么啊?

添加Timer代码

- (void) createTimer
{
    NSTimer *timer = [NSTimer timerWithTimeInterval:3.0 target:self selector:@selector(increaseCurrentPage) userInfo:nil repeats:YES];
    self.timer = timer;
    //消息循环
    NSRunLoop *runloop = [NSRunLoop currentRunLoop];
    [runloop addTimer:timer forMode:NSDefaultRunLoopMode];}

[self createTimer]viewDidLoad中调用,当不注释掉[self createTimer]的时候,

- (void) scrollViewWillBeginDragging:(UIScrollView *)scrollView
{
    [self.timer invalidate];
    NSLog(@"draggged");
}

这段代码没有响应,不响应断点,只有当[self createTimer]注释掉之后,才会响应,这是为什么呢

阅读 4.3k
2 个回答
 [runloop addTimer:timer forMode:NSDefaultRunLoopMode];

改成:

 [runloop addTimer:timer forMode:NSRunLoopCommonModes];

试试!

我想问一下【NSTImer sch。。。】和init有什么不同?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题