2012-03-19 17 views
5

Tengo una pregunta que puede sonar extraño, pero al ser algo de un novato, estoy adivinando ninguna pregunta es una pregunta estúpida ...guiones gráficos separados para iPhone/iPhone Retina/iPad/iPad Retina

¿Necesito storyboards separados para los cuatro dispositivos?

Ahora tengo dos storyboards, uno para iPhone y otro para iPad, pero lo que obtengo de mi marco de vista siempre muestra el tamaño del dispositivo, no el dispositivo retina. Así que, por ejemplo, en el iPhone, mi tamaño de vista es 320x460, y para iPhone Retina muestra lo mismo ... igual para iPad.

Gracias

+0

¡No se equivoque, hay muchas preguntas estúpidas por ahí! El que dice que no hay preguntas estúpidas, solo respuestas estúpidas, es un idiota. ¡Esto, sin embargo, es una gran pregunta! – Jake

Respuesta

5

No, usted no lo hace. Sí, es la misma resolución para el punto de vista del desarrollador. iOS hará todos los ajustes. El único problema importante es que si usa imágenes en el paquete de su aplicación (como íconos de pestañas), debe agregar una para no retine una para retina (con doble resolución). Por ejemplo, si tiene icon.png de 24x24px, debe agregar [email protected] de 48x48px. iOS reemplazará automáticamente su icono por el nombre de archivo "@ 2x" en retina divices.

+0

Bien, entendido. Eso es lo que estaba pensando, pero para las imágenes, siempre elegirá el archivo @ 2x o el archivo ~ ipad si está especificado. Otra forma de decirlo es: ¿hay casos en los que necesite detectar el dispositivo y cambiar el nombre del archivo dos referencias a una imagen diferente? – LilMoke

+0

No estoy seguro si en tiempo de ejecución detectará una imagen que, por ejemplo, descargue. Pero estoy seguro de que puede especificar la imagen de retina cuando detecta una pantalla retina. Esta respuesta puede ayudarle con la detección http://stackoverflow.com/a/3294120/1014773 – LuisEspinoza

+0

Gracias voy a echar un vistazo. No estaba hablando de imágenes que descargo, solo imágenes de mi paquete principal. Will UIImage siempre elige la imagen correcta, esa fue realmente la pregunta. – LilMoke

0

Puede diferenciar el contenido gráfico de su aplicación, pero las vistas/guión gráfico por el momento no creo que pueda.

Si desea aprovechar la resolución de las pantallas retina, puede utilizar el truco @ 2x.

Este consiste en lo siguiente, damos el ejemplo de la aplicación icon_

  • Icon.png (icono predeterminado para el iPhone en 57x57 píxeles)
  • [email protected] (icono predeterminado para el iPhone con pantalla retina en 114x114 píxeles)

  • icono ~ iPad.png (icono predeterminado para el iPad en 72x72 píxeles)

  • [email protected] (icono predeterminado para el ipad wi pantalla de la retina en 144x144 píxeles)

Este truco es útil para todo su contenido gráfico y no requiere código adicional cuando crea sus interfaces y su código. Cuando tenga que especificar el archivo de gráficos que se utilizará, siempre especifique el archivo que no tiene el "@ 2x".

Espero que sea útil.

+0

Sí, el ejemplo del icono de la aplicación siempre se usa ... pero no esta técnica funciona todo el tiempo?¿Esto siempre funcionará para un UIImage, o son sus momentos en los que necesitaré especificar la imagen adecuada? – LilMoke

+0

Funciona siempre y no requiere código adicional para cambiar la imagen. Solo hace referencia a la imagen normal y iOS hace el resto;) Si está interesado descargue este código de muestra y lo verá en acción: (enlace) http://www.angeldiaz.es/idec-upf/leccion07/ Example37.tar.gz Recuerde cambiar el destino del simulador para verlo funcionando. – angeldiaz

+1

Esto no es suficiente. No todos los UIImage s tienen un nombre de archivo asociado. Puedes obtener un UIImage desde un contexto gráfico y en ese caso debes ocuparte de los problemas de resolución media/doble con el valor de la escala. – hariseldon78

Cuestiones relacionadas