当UIGesture动作执行时,NSTimer暂停一段时间

时间:2012-06-02 11:48:51

标签: objective-c ios

NSTimer暂停一段时间,然后再次启动UIGesture动作。

我正在开发一个iOS应用程序,我必须每0.5秒重复触发NSTimer,并根据该计时器我正在移动歌曲进度条。并且当用户触摸我保持在相同视图上的一些图像时也处理触摸事件。我看到当用户触摸图像时,用于移动进度条的计时器停止一会儿并再次继续。

在同一视图中,我们无法同时处理定时器和触摸事件吗?

我的计时器代码

myTimer = [NSTimer scheduledTimerWithTimeInterval:timeinterval target:self selector:@selector(updatplayer:) userInfo:nil repeats:YES];
    [[NSRunLoop mainRunLoop] addTimer:myTimer forMode:NSRunLoopCommonModes];

1 个答案:

答案 0 :(得分:1)

这是NSTimer的常见问题。虽然您可以使用运行循环模式来改进,但更好的解决方案是切换到GCD计时器。有关示例,请参阅RNTimer。有关详细信息,请参阅dispatch_source_create上的文档。