Closed DmitrijMaz closed 8 years ago
The reason behind this is that dismiss timer is added to NSRunLoop in default mode, which blocks the timer from firing if any of input sources is currently recognises events. To avoid this you need to add timer in NSRunLoopCommonMode.
self.minShowTimer = [NSTimer scheduledTimerWithTimeInterval:(self.minShowTime - interv) target:self selector:@selector(handleMinShowTimer:) userInfo:nil repeats:NO];
scheduledTimerWithTimeInterval adds timer to NSDefaultRunLoopMode.
Fixed in the latest master.
The reason behind this is that dismiss timer is added to NSRunLoop in default mode, which blocks the timer from firing if any of input sources is currently recognises events. To avoid this you need to add timer in NSRunLoopCommonMode.
scheduledTimerWithTimeInterval adds timer to NSDefaultRunLoopMode.