Tengo un UIView que estoy renderizando en un UIImage mediante el método UIGraphicsBeginImageContextWithOptions típico, usando una escala de 2.0, por lo que la salida de la imagen siempre será la versión "retina display" de lo que aparecería en pantalla, independientemente de la la resolución de pantalla real del usuario.Uiimage de UIView: ¿superior a la resolución en pantalla?
El UIView I'm rendering contiene imágenes y texto (UIImages y UILabels). La imagen está apareciendo en el UIImage renderizado a su resolución completa, y se ve muy bien. Pero los UILabels parecen haber sido rasterizados en una escala de 1.0 y luego aumentado a 2.0, lo que resulta en texto borroso.
¿Hay algo que estoy haciendo mal, o hay alguna manera de hacer que el texto se vea nítido a mayor escala? ¿O hay alguna forma de hacer esto que no sea usar el parámetro de escala de UIGraphicsBeginImageContextWithOptions que tendría mejores resultados? ¡Gracias!
Esto funciona, pero si intenta capturar una UITableView, es complicado cambiar cada capa individualmente. ¿No hay una forma de cambiarlo para todas las subvistas recursivamente? – charliehorse55
Bueno, no hay ningún comando que yo sepa, pero tenga en cuenta que el código expandido se repetirá y hará la mayor parte del trabajo. Tendrás que hacer algo especial si no configuras un imageViews en una imagen 2x (que funciona bien para pantallas que no son retina, simplemente hace un poco más de trabajo para el sistema cuando se renderiza). –