Ios NSTimer在缩放时工作方式不正确

Ios NSTimer在缩放时工作方式不正确,ios,uiimage,zooming,nstimer,Ios,Uiimage,Zooming,Nstimer,此应用程序使用NSTimer在特定时间间隔触发图像。这可以很好地工作,但当您放大时,问题开始出现,图像之间的时间间隔不再恒定。我尝试了两种不同的定时器代码,但都不起作用 _timerForImageTrigger = [NSTimer scheduledTimerWithTimeInterval:_timeIntervall target:self selector:@selector(automaticTriggerImage) userInfo:nil repeats:YES]; _tim

此应用程序使用NSTimer在特定时间间隔触发图像。这可以很好地工作,但当您放大时,问题开始出现,图像之间的时间间隔不再恒定。我尝试了两种不同的定时器代码,但都不起作用

_timerForImageTrigger = [NSTimer scheduledTimerWithTimeInterval:_timeIntervall target:self selector:@selector(automaticTriggerImage) userInfo:nil repeats:YES];

_timerForImageTrigger = [NSTimer timerWithTimeInterval:_timeIntervall
                                             target:self
                                           selector:@selector(automaticTriggerImage)
                                           userInfo:nil
                                            repeats:YES];
    [[NSRunLoop mainRunLoop] addTimer:_timerForImageTrigger forMode:NSRunLoopCommonModes];

我现在所做的是在相机处于录制模式时禁用缩放。但这不是我想要坚持的解决方案。有没有办法解决这个问题或者问题出在哪里

n定时器不能保证准时发射。我相信,因为你的计时器在主线程上,它会被主线程上的其他活动(如缩放)延迟

这可能会有帮助

您可能需要尝试在后台运行循环中运行计时器

注意:如果你正在更新UI,你必须在主线程上进行更新

也可以考虑改变公差(IOS 7)


automaticTriggerImage以正确的间隔调用,但摄像头按钮未被触发?或者甚至函数也没有被调用?谢谢你的链接。我使用的不是NSTimer而是CADisplayLink,这使得在录制过程中保持相当恒定的时间间隔成为可能,即使在缩放或对焦时也是如此。