Tengo un UIView
que tiene una imagen y algunos botones como sus subvistas. Me gustaría obtener una imagen de "instantánea" usando renderInContext
u otro método.Rendering UIView con sus hijos
[clefView.layer renderInContext:mainViewContentContext];
Si lo paso a mi UIView
(como antes) cuando me siento un mapa de bits en blanco. Ninguno de los niños se representa en el mapa de bits.
Si paso la vista secundaria que es la imagen, entonces obtengo una imagen de ese mapa de bits y, como era de esperar, ninguno de sus hermanos (botones).
Esperaba que renderInContext
tomara la imagen y todos sus elementos secundarios visibles y la convirtiera en un mapa de bits. ¿Alguien tiene alguna idea de cómo hacer esto?
Gracias, pero eso no lo hizo. Obtuve los mismos resultados. El problema, creo, es que renderInContext no está atravesando las subvistas y solo está haciendo la capa superior que se le pasa (a pesar de lo que creo que se supone que debe hacer). ¿Debo llamar a renderInContext para cada subvista? – mahboudz
Ok, jugando un poco más y esta es la respuesta correcta. My ImageContext se estaba configurando a una vista de hermanos, no a una supervista. Gracias! – mahboudz
Esto funciona mucho mejor que cualquier otro método que he encontrado. – freespace