2016-05-25 6 views
0

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

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

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

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

ответ

0

ОК, поэтому через несколько дней мне удалось добиться того, что я намеревался сделать, и я могу подтвердить, что ДА, CoreAnimation был хорошим способом приблизиться к нему.

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

+0

Среди того, что я узнал, было то, что, хотя вы не должны напрямую манипулировать слоем поддерживаемого слоя в OSX, вы * можете * добавить к нему подслой и скопировать через 'view.layer !.contents' - и затем преобразуйте также ваше сердце ... –

 Смежные вопросы

  • Нет связанных вопросов^_^