2011-01-10 13 views
10

Tengo un UIImageView de tamaño 300 x 300 en mi aplicación que muestra mis imágenes muy bien. Mis imágenes son 600 x 600 o más y UIImageView simplemente las cambia de tamaño para mí.Imágenes de retina/no retina en UIImageView

Mi pregunta es esta: ya que estas imágenes son esencialmente todas retina de todos modos (es decir, el doble del tamaño de píxel requerido) ¿hay algún punto en hacer una retina y una versión no retina de la misma imagen? ¿Esto no solo hará que mi aplicación sea más grande debido a los archivos de imagen adicionales?

¿Qué hay de malo en simplemente dejar que el dispositivo reduzca la escala de las imágenes? Estoy seguro de que hay una muy buena respuesta, ¡me gustaría saber de qué se trata!

Gracias por su consejo.

Respuesta

3

Para nuestras aplicaciones, utilizamos una combinación de las imágenes @ 2x y hacemos lo que usted ha sugerido, Scaling. Usamos las imágenes @ 2x para los botones de barras, íconos, etc. Pero para UIImageViews solemos usar Escala.

Aquí es un artículo que sugiere tanto: http://mobile.tutsplus.com/tutorials/iphone/preparing-your-iphone-app-for-higher-resolutions/

ignorar la parte sobre el iPad no apoyar @ 2x (esto es información antigua) pero el artículo sigue siendo buena.

Puede haber un golpe de rendimiento para hacer esto, pero para la mayoría de las aplicaciones diría que esto es insignificante. Los ahorros en el tamaño del archivo a veces hacen que el escalado sea la única opción.

6

Escalar las imágenes es una sobrecarga innecesaria. Solo proporcione dos versiones de esto.

+3

Además, la calidad de las imágenes reducidas no es tan buena como hacerlo usted mismo. – jowie

+0

Si solo está usando unas pocas imágenes, probablemente debería proporcionar dos imágenes. Si, como en mi caso, tengo cientos de imágenes de gran tamaño, mi tamaño de aplicación sería demasiado grande. Escalar es una mejor solución para mí. No noto ninguna diferencia en la calidad con las imágenes escaladas, pero todas son fotos. Del mismo modo, no hay retraso en mostrarlos. – JScarry

Cuestiones relacionadas