Следует ли использовать CoreAnimation для быстрого перемещения сложного представления во время жестов пользователя?

У меня есть приложение OSX, где пользователь взаимодействует с видом через панорамирование, масштабирование и поворот жестов. Я справляюсь с этим, манипулируя преобразованием вида, которое отлично работает.

Однако при некоторых обстоятельствах время, затраченное на перерисовку представления, может сделать взаимодействие немного менее гладким. Поэтому в ходе жеста (например, UIRotationGesture) я хотел бы сделать компромисс между скоростью и качеством.

В частности, во время выполнения жеста я хотел бы показать пользователю развернутую и масштабированную растровую версию содержимого, которую я могу затем заменить правильно перерисованным содержимым после завершения жеста.

Я начал экспериментировать с CoreAnimation, и это кажется многообещающим, но прежде чем я зайду слишком далеко, было бы полезно узнать, является ли CALayer хорошей основой для достижения того, что я пытаюсь сделать. Я думаю, что мне действительно нужна только способность захватывать содержимое в растровое изображение, а затем отображать его во вращающейся и масштабированной форме — мне действительно не нужны «анимационные» функции, такие как кадровая интерполяция между начальным и конечным состоянием.

1 ответ

  1. Итак, через несколько дней мне удалось достичь того, что я намеревался сделать — и я могу подтвердить, что да, CoreAnimation был хорошим способом подойти к нему.

    Это было интересное путешествие, и я узнал много полезного по пути.