NSTimer在缩放时不能正常工作

时间:2014-02-12 12:13:44

标签: ios uiimage zoom nstimer

此应用使用NSTimer在特定时间内触发图像。这很好但是当你放大时,问题开始出现,图像之间的timeIntervals不再是常量。我为我的计时器尝试了两种不同的代码,它们都不起作用。

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

当相机处于录制模式时,我现在所做的是禁用缩放。但这不是我想坚持的解决方案。有任何想法如何解决这个或问题可能在哪里?

1 个答案:

答案 0 :(得分:1)

NSTimers无法保证按时准确发射。我相信因为你的计时器在主线程上,它被主线程上的其他活动延迟,例如缩放。

这可能会有所帮助Stack Question

您可以尝试在后台运行循环上运行计时器。

N.B如果要更新UI,则必须在主线程上执行此操作。

您也可以考虑更改容差(iOS 7) NSTimer