我在 NSTimer 触发的主窗口上有一个 OpenGL 动画绘图。如果我打开一个带有可滚动 UITableView 菜单的弹出窗口,动画会在滚动过程中冻结。一旦滚动动画停止,计时器回调就会重新开始。只有当用户主动尝试滚动时,主窗口才会停止更新。
似乎 Apple 的滚动动画以某种方式阻止了主循环上的调度。这是真的吗?有办法解决吗?
如果我能提供帮助,我真的不想引入多线程,因为这会成倍地增加我的代码的复杂性。
我也尝试使用 CADisplayLink 而不是 NSTimer 并且显示链接调用也被滚动动画阻止。