_UIReplicantView и snapshotViewAfterScreenУдаляет, как получить свой контент?

-renderInContext: широко используется с момента его появления, но при этом невозможно отобразить слой OpenGL, AVPreviewLayer (возможно, потому что это своего рода слой OpenGL), и я все еще не смог правильно отобразить CATiledLayer.
В iOS7 были введены 2 новых API для получения скриншотов, один из -drawViewHierarchyInRect:afterScreenUpdates: возвращает конкретный вид ( _UIReplicantView ) и -drawViewHierarchyInRect:afterScreenUpdates: последний является своего рода заменой для -renderInContext , к сожалению, он, похоже, имеет те же ограничения ,
-snapshotViewAfterScreenUpdates: он, похоже, работает также с OpenGL и AVPreviewLayer, к сожалению, подобное подобное представление не очень полезно, если вы хотите делать определенные анимации или использовать содержимое в качестве фона чего-то (например, uibutton). Я попытался удалить содержимое из возвращаемого представления, но мне все равно не повезло.
Кто-нибудь еще пытался?

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

Затем мы нашли фрагмент кода, который, как представляется, решил бы эту проблему, но вы должны быть готовы немного подумать за пределами коробки.

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

Как я уже сказал, это очень странный способ решить эту проблему, но, похоже, для нас это хорошо.

Код для (ASScreenRecorder) можно найти здесь.

https://github.com/alskipp/ASScreenRecorder

Одним из наших меню в нашем продукте был OpenGL, а у некоторых были видеоролики! И это отлично сработало для нас. Но я не могу быть уверенным, было ли это чем-то особенным для нашей реализации и использования OpenGL. Это определенно работает для просмотра камеры, хотя в качестве показа его видеоролика.

  • Создание скрининга сетчатки, программно приводящее к отображению не сетчатки
  • Как сделать снимок экрана всего экрана на устройстве Jailbroken iOS?
  • copyCGImageAtTime с использованием AVAssetImageGenerator throwing -11800 Неизвестная ошибка для определенных фреймов актива
  • Как определить, выполнил ли пользователь скриншот с домашним источником питания в iOS?
  • iPad 3 медленный снимок экрана
  • Почему мой программно созданный скриншот выглядит так плохо на iOS 7?
  • Swift 3: Как удалить серые области снимка экрана UITableView
  • Создание скриншотов iPhone и iPad, включая раму устройства
  • glReadPixels сохраняет только снимки размером 1/4 экрана
  • Скриншот с CCClippingNode - cocos2d-iphone-2.1-beta4
  • Objective-C: Захват скриншотов всех видов в пользовательском фрейме
  • Давайте будем гением компьютера.