У меня есть вид, поддерживаемый CAEAGLLayer, который находится внутри UIScrollView. Когда я начинаю прокрутку, CADisplayLink, вызывающий метод -draw openGL, перестает получать вызов.
Я проверил, что мои методы запуска/остановки runloop не вызываются при прокрутке. Метод -draw просто не вызывается, как только начинается прокрутка, и возобновляет вызов, как только прокрутка заканчивается.
Устанавливает ли UIKit запуск CADisplayLink при запуске прокрутки?
Ссылка на отображение добавляется в цикл выполнения следующим образом:
[dl addToRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode];
Возможно, существует конфликт с этим режимом цикла запуска и UIScrollView? Существуют ли другие режимы цикла запуска или альтернативные решения, позволяющие запускать CADisplayLink даже при прокрутке UIScrollView?
Я думал, что в любом приложении может быть больше одного CADisplayLink. Это неправильно?