Xcode: Archivos de recursos, pantalla retina, iPhone 5 y iPad's


Hay iPhone 3GS, otros con pantalla retina, luego está el iPhone 5 que es más largo y a parte están los iPad (con y sin retina).

Una imagen que carguéis para uno de estos dispositivos puede que no se vea bien (o todo lo bien que se podría ver), según el dispositivo. Por eso a veces conviene hacer diferentes versiones que se adapten a cada uno de los diferentes tipos de dispositivos.


En Xcode es posible y de manera muy fácil, usar diferentes recursos que se carguen de forma automática según si la pantalla es retina o no, si es iPhone 5 o si es un iPad. Todo se basa en un sistema de sufijos que se añaden entre el nombre del archivo y su extensión (p.ej. ".png"). Son los siguientes:


  • Pantallas retina: añadir @2x (p.ej. imagen@2x.png). 


  • iPads: añadir ~ipad (p.ej. imagen~ipad.png y si fuera también retina imagen@2x~ipad.png).

  • iPhone 5: añadir -568h@2x (p.ej. imagen-568h@2x.png).

  • Sólo para iPhones y iPods Touch: añadir ~iphone (p.ej. imagen~iphone.png).
Y para cargar una imagen en un UIImage por ejemplo, debéis usar el nombre del archivo normal sin ningún tipo de sufijo, ya que la elección se realiza de forma automática. Por ejemplo: [UIImage imageNamed:@"image.png"];