2

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];
4

1 回答 1

1

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

于 2012-06-02T12:10:36.607 回答