según su petición ...
de prueba para la funcionalidad. Si desea saber si necesita mostrar una imagen de retina o una imagen normal, pruebe si su dispositivo tiene una pantalla Retina, no es que sea de un modelo en particular (asegure su aplicación lo mejor que pueda, significa que tiene que cambiar menos cosas cuando sale un nuevo modelo). Para ello, puede utilizar el siguiente código de ejemplo:
if([[UIScreen mainScreen] respondsToSelector:@selector(scale)] &&
[[UIScreen mainScreen] scale] == 2.0)
{
/* We have a retina display. */
}
else
{
/* We do not. */
}
Este código es seguro, a partir del momento en que escribí esto, en todos los modelos y en todas las versiones de firmware. También será seguro en versiones futuras hasta que Apple derogue el método scale
, lo que puede que nunca suceda.
Más sobre su pregunta, no sé cómo hacer eso en una vista web sin tener previamente las ubicaciones de una imagen de retina y una imagen no retina. Una vez que tengo esa información, la he usado (en el pasado) para reemplazar algún texto centinela conocido que la página web esperaba que reemplazara, como en el caso de poner algo en el código HTML que decía: {{{image_location}}}
donde podía descargar el HTML datos, hágalo en formato de cadena, luego haga un reemplazo en esa cadena reemplazando ese texto, con la URL de la imagen @ 2x si estamos en una pantalla Retina, con el factor de escala apropiado, o la imagen de tamaño normal si no (usando el código anterior).
Espero que esto ayude si nadie viene con una solución mejor.
Dado que no hay mejores respuestas, estoy aceptando esto como una solución factible. Lo ideal es que UIWebView lo haga solo para las imágenes locales, pero la comprobación de la escala de la pantalla de los dispositivos y el ajuste del código HTML funciona. –
En un iPad en modo 2x, la escala también es 2.0. – occulus
Claro, pero eso se relaciona con las aplicaciones de iPhone de todos modos. Las aplicaciones de iPad no se ejecutan en modo escala. Por lo tanto, si maneja este caso correctamente en su aplicación de iPhone, no es un problema. :) – jer