Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/115.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 在执行UI手势操作时,NSTimer正在暂停一段时间_Objective C_Ios - Fatal编程技术网

Objective c 在执行UI手势操作时,NSTimer正在暂停一段时间

Objective c 在执行UI手势操作时,NSTimer正在暂停一段时间,objective-c,ios,Objective C,Ios,NSTimer暂停一段时间,然后在执行UI手势操作时再次启动 我正在开发一个iOS应用程序,在这个应用程序中,我必须每0.5秒重复触发一次NSTimer,并根据该计时器移动一个歌曲进度条。当用户触摸我保存在同一视图中的一些图像时,也会处理触摸事件。我看到当用户触摸图像时,移动进度条的计时器会停止一段时间并再次继续 是否存在无法在同一视图中同时处理计时器和触摸事件的问题 我的计时器代码 myTimer = [NSTimer scheduledTimerWithTimeInterval:timein

NSTimer暂停一段时间,然后在执行UI手势操作时再次启动

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

是否存在无法在同一视图中同时处理计时器和触摸事件的问题

我的计时器代码

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

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

使用NSTimer我们无法处理这个问题?通常,使用NSTimer的运行循环模式会带来更多的麻烦,因为GCD更容易完成这一切,而且不会创建保留循环。但是在你的代码中,你安排了两次自己的时间,这可能是问题的根源。如果要自己调用addTimer,请不要使用“scheduled”变量。安排两次。