Проблемы с OpenGL, touch и segue (одновременно) на iOS

Введение

Я сделал приложение OpenGL для iOS, которое имеет 3 разных представления. После того, как первый вид «закончен» (я что-то коснулся), происходит переход ко второму виду и т. д.

Каждое представление имеет собственную логику рендеринга OpenGL. Пока все работает отлично.

Проблема

Если теперь я держу палец на экране (или продолжаю нажимать кнопку мыши в симуляторе), мой переход все еще работает, но мое представление OpenGL не отображается.

Есть идеи, почему? Это общая проблема?

Уже попробовал

  • Я уже пытался вызвать touchesEnded (вручную) в моем вызове touchStart, но это, похоже, не решает проблему.

person apfelbox    schedule 22.05.2012    source источник
comment
Возможным решением было бы отложить любое действие с методом touchesEnded, но это потребовало бы довольно большого переписывания (поскольку задействовано несколько компонентов).   -  person apfelbox    schedule 23.05.2012
comment
Запускается ли ваша логика рендеринга OpenGL ES из основного потока (через таймер или каким-либо другим способом)? В частности, может потребоваться настроить CADisplayLink на использование другого режима цикла выполнения, если вы используете его для обновления рендеринга: stackoverflow.com /a/4878182/19679   -  person Brad Larson    schedule 23.05.2012
comment
Благодарим за ваше предложение. Если я запишу свои вызовы (через таймер) в свой собственный метод рисования, я увижу, что он действительно вызывается правильно. Но открытый вид gl никогда не отображается. Все работает правильно, за исключением того, что я оставляю палец на экране во время перехода.   -  person apfelbox    schedule 28.05.2012