¿Alguien sabe de alguna manera, o tiene una idea creativa sobre cómo obtener un UIImage que se representa desde un UIWebView? El truco es que debe estar en un hilo de fondo.Crea un UIImage reproduciendo UIWebView en un hilo de fondo - iPhone
Voy a elaborar: Estoy tratando de obtener la imagen de múltiples UIWebViews cada segundo + -, y mostrarlo en la pantalla (iPhone, por supuesto). Como renderizar una capa en un CGContext es un trabajo que consume CPU, no me gustaría utilizar el hilo principal, por lo tanto, no para colgar la IU.
Mis intentos hasta ahora han sido:
He intentado utilizar
renderInContext
en la capa de la web View a laUIGraphicalContext
, pero el error webviews_WebTryThreadLock
estrellé los.Intenté crear un
CGBitmapContext
y renderizar la capa de la vista web, pero obtuve el mismo resultado.Intenté implementar un método
copy
(agregando una Categoría) aCALayer
, que copió profundamente todas las propiedades públicas y subcapas. Después, traté derenderInContext
la capa que copié. Obtuve un UIImage que era parcialmente "correcto", lo que significa que no se procesaron todas las capas, así que, por ejemplo, solo obtendría el encabezado (o pie de página, cuerpo o barra de búsqueda, o solo algunos los marcos). La capa de UIWebview consiste en todo tipo de CALayers subclasificados, por lo que esta es probablemente la razón por la cual este método no funcionó.Intenté configurar el
kCATransactionDisableActions
en unCATransaction
, pero no pareció cambiar este comportamiento (ninguno de ellos).
Estoy muy cerca de renunciar.
¿Hay algún salvador entre ustedes?
+1 pregunta difícil –