У меня есть приложение OSX, где пользователь взаимодействует с видом через панорамирование, масштабирование и поворот жесты. Я справляюсь с этим, манипулируя преобразованием вида, который отлично работает.Должен ли я использовать CoreAnimation для быстрого перемещения сложного вида во время пользовательских жестов?
Однако при некоторых обстоятельствах время, затрачиваемое на перерисовку вида, может сделать взаимодействие немного менее гладким. Поэтому в ходе жеста (например, UIRotationGesture) я хотел бы сделать компромисс скорости/качества.
В частности, в ходе жестов я хотел бы показать пользователю развернутую и масштабированную версию растрового изображения, которую я смогу затем заменить соответствующим образом перерисованным содержимым, как только жест будет завершен.
Я начал экспериментировать с CoreAnimation, и это кажется многообещающим, но прежде, чем я зашел слишком далеко вниз, это поможет узнать, является ли CALayer хорошей основой для достижения того, что я пытаюсь делать. Наверное, мне действительно нужна только возможность захвата контента в растровое изображение, а затем для отображения его во вращающейся и масштабированной форме. Мне не нужны функции анимации, такие как интерполяция между кадром между начальным и конечным состояниями.
Среди того, что я узнал, было то, что, хотя вы не должны напрямую манипулировать слоем поддерживаемого слоя в OSX, вы * можете * добавить к нему подслой и скопировать через 'view.layer !.contents' - и затем преобразуйте также ваше сердце ... –