我有一个由 CAEAGLLayer 支持的视图,它位于 UIScrollView 内。当我开始滚动时,调用 openGL 视图的 -draw 方法的 CADisplayLink 停止被调用。
我验证了滚动时不会调用我的 runloop 启动/停止方法。-draw 方法根本不会在滚动开始时立即被调用,而是在滚动结束时继续被调用。
UIKit 是否会在滚动开始后立即停止 CADisplayLink 触发?
显示链接被添加到运行循环中,如下所示:
[dl addToRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode];
可能这个run loop模式和UIScrollView有冲突?即使 UIScrollView 正在滚动,是否还有其他运行循环模式或替代解决方案来保持 CADisplayLink 触发?
我认为任何应用程序中都可以有不止一个 CADisplayLink。那是错的吗?