SPTween зависает при перетаскивании/масштабировании представления внутри UIScrollView

Я использую структуру Sparrow. Я играл с движущимися спрайтами, используя SPTween и SXParticleSystem. Проблема в том, что когда я перемещаю или изменяю размер представления внутри UIScrollView, эти твины и частицы просто замерзают. Когда я заканчиваю перетаскивание, спрайт перемещается снова, а не там, где он застыл, но они перемещаются от того места, где они должны были быть, если они не были заморожены. Как можно оживить эти спрайты вместе с другими анимационными элементами UIKit.

Я попытался использовать CoreAnimation (анимация UIView) и перетащить scrollview. Он не замерзает. Любые идеи?

CADisplayLink OpenGL-рендеринг нарушает поведение UIScrollView

Анимация в OpenGL ES view зависает, когда UIScrollView перетаскивается на iPhone

Я видел подобный пост выше, и они предполагают, что перемещение scrollview изменяет runLoopMode на тот, который OpenGL обычно не использует. Но я до сих пор не знаю, как изменить runLoops в структуре Sparrow.

enter image description here

Показать в первоначальном размере

Ответ 1

Решение найдено. В строке SPView.m измените NSDefaultRunLoopMode на NSRunLoopCommonModes. Причина заключается в том, что рендеринг OpenGL по умолчанию во Sparrow регистрируется с помощью NSDefaultRunLoopMode, который в некоторых случаях перестает работать в таких ситуациях, как обновление пользовательского интерфейса. Для получения дополнительной информации, пожалуйста, прочитайте приведенную ниже ссылку.

Что такое runloops и какие режимы мы можем использовать? fooobar.com/info/17677/...