¿Cómo acomodar la resolución de pantalla del iPhone 4?

Según Apple , el iPhone 4 tiene una resolución de pantalla nueva y mejor:

Pantalla panorámica de 3,5 pulgadas (diagonal) con pantalla táctil
Resolución de 960 por 640 píxeles a 326 ppi

Este pequeño detalle afecta nuestras aplicaciones de una manera pesada. La mayoría de las aplicaciones de demostración en la red tienen una cosa en común: posicionan las vistas al creer que la pantalla tiene un tamaño fijo de 320 x 480 píxeles. Entonces, lo que hacen la mayoría de los desarrolladores (si no todos) es que diseñaron todo de tal manera que un área táctil es (por ejemplo) 50 x 50 píxeles grande. Solo lo suficiente para tocarlo. Las cosas se han colocado en relación con la esquina superior izquierda, para llegar a una posición específica en la pantalla, digamos el centro, o en algún lugar en la parte inferior.

Cuando desarrollamos aplicaciones de alta resolución, probablemente no funcionen en dispositivos más antiguos. Y si lo hacen, sufrirían mucho de 4 veces el tamaño de cualquier imagen, teniendo que escalarlas en la memoria.

    De acuerdo con el soporte de pantallas de alta resolución en vistas , de los documentos de Apple:

    En dispositivos con pantallas de alta resolución, los métodos imageNamed: imageWithContentsOfFile: e initWithContentsOfFile: automáticamente una versión de la imagen solicitada con el modificador @2x en su nombre. Si encuentra uno, carga esa imagen en su lugar. Si no proporciona una versión de alta resolución de una imagen determinada, el objeto de imagen aún carga una imagen de resolución estándar (si existe) y la escala durante el dibujo.

    Cuando carga una imagen, un objeto UIImage establece automáticamente las propiedades de escala y tamaño en los valores apropiados según el sufijo del archivo de imagen. Para imágenes de resolución estándar, establece la propiedad de escala en 1.0 y establece el tamaño de la imagen en las dimensiones de píxeles de la imagen. Para imágenes con el sufijo @ 2x en el nombre de archivo, establece la propiedad de escala en 2.0 y reduce a la mitad los valores de ancho y alto para compensar el factor de escala. Estos valores a la mitad se correlacionan correctamente con las dimensiones basadas en puntos que necesita usar en el espacio de coordenadas lógicas para representar la imagen.

    Esto es pura especulación, pero si la resolución es realmente 960 x 640, es exactamente el doble de alta que la versión actual. Sería trivialmente simple para el iPhone verificar el objective de comstackción de aplicaciones y detectar una versión heredada de la aplicación y simplemente escalarla en 2. Nunca notarías la diferencia.

    Los informes de Engadget sobre la conferencia incluyeron la siguiente transcripción de Steve Jobs

    … Lo hace para que sus aplicaciones se ejecuten automáticamente en esto, pero rinde su texto y controles en la resolución más alta. Sus aplicaciones se ven aún mejor, pero si hace un poco de trabajo, se verán deslumbrantes. Entonces, sugerimos que hagas eso

    Por lo tanto, deduzco que si usa las API existentes, su aplicación se ampliará. Si aprovecha las nuevas API de iOS4, puede obtener todo lo maravilloso con los nuevos píxeles.

    Parece que la pantalla estará bien, pero me preocupa la lógica de mi juego. ¿Tocará las posiciones Bean puntos de retorno en la nueva resolución? Los límites de la pantalla serán diferentes, este tipo de cosas podría ser un problema para mí.

    Escalar a una resolución doble para fines de visualización es sencillo, pero ¿se aplicará este escalado a todas las API que ingresan / sacan una coordenada de pantalla? Si no, las cosas se van a romper ¿no?

    Bastante justo si se ha manejado extensamente a lo largo del marco … Me imagino que hay muchos api potenciales de este efecto.

    Para las personas que están buscando este hilo buscando una solución para una interfaz web móvil, revisen esta publicación en el blog de Webkit: http://webkit.org/blog/55/high-dpi-web-sites/

    Parece que Webkit ha resuelto este problema hace cuatro años.

    Si es cierto.

    De acuerdo con WWDC, parece que Apple ha desarrollado alguna forma de conversión automática para que la resolución de las aplicaciones no se desconecte por completo. Think up-convert para dvd a HDTV.

    Supongo que Apple sabe lo que la mayoría de los desarrolladores de estándares han estado usando y ya los usará para una conversión inmediata. Por supuesto, si está progtwigndo una aplicación para aprovechar la nueva resolución, se verá mucho mejor que cualquiera que sea el resultado de la auto conversión de manzanas.

    Todas sus tags y botones del sistema estarán a 326 ppp pero sus imágenes seguirán duplicadas en píxeles hasta que agregue los recursos de alta resolución. Actualmente estoy actualizando mis aplicaciones. Si comstack y ejecuta en el iPhone 4 sim entonces se presenta al 50%, vaya a Ventana> Escala> 100% para ver la diferencia real! Las tags son suaves, ¡mis imágenes se ven impactantes!