Как сбросить CALayer в CGImageRef?

У меня есть пользовательский интерфейс, основанный на CoreAnimation. Я хотел бы реализовать перетаскивание мышью некоторых CALayers, и я хотел бы привязать изображение перетаскиваемого слоя к курсору. Проблема в том, что я не могу заставить CALayer (который не является основанным на изображении /.contents) изображением какого-то типа - например CGImageRef или NSImage. Любые идеи?

Ответ 1

CALayer имеет renderInContext: метод, который принимает CGContextRef.
После рендеринга в контекст вы можете получить CGImageRef, вызвав CGBitmapContextCreateImage(CGContextRef context).

Я уже ответил на аналогичный вопрос здесь.