NSTimer 毁了我所有的动画

NSTimer is ruining all of my animations

我添加了一个 NSTimer 来更新我的界面,主要是每秒 10 次带有信息的标签。它调用一个将工作分派回主线程的函数。

视图控制器也有滚动视图。我有一个分页系统,当用户点击对应于每个选项卡的选项卡(一个按钮)时,我将我的滚动视图从一个页面移动到另一个页面。那个滚动动画刚刚停止发生 - 就好像我用动画调用 scrollToRect 一样,即使我用 YES 调用它。

我认为因为我正在更新我的标签,所以自动布局在后台做了一些不可靠的事情并破坏了我的滚动视图动画。其他使用布局约束移动视图的动画也会发生同样的情况。

我知道 Autolayout 和 NSTimer 有问题。

我该怎么做才能解决这个问题?

谢谢

我会创建一个布尔标志来禁止定时器方法的更新。在开始动画之前将其设置为 true,并在动画完成后将其设置为 false。您可能还想在动画完成后更新数据 'manually' 以捕获任何被阻止的更新。