web-dev-qa-db-fra.com

Comment puis-je ajouter des JPEG à un catalogue d'actifs dans Xcode?

Est-il possible d'ajouter des actifs autres que des fichiers PNG à un catalogue d'actifs Xcode? 

Lorsque je fais glisser des fichiers JPEG dans un catalogue d'actifs, ils ne sont pas acceptés par l'interface utilisateur.

57
David Snabel-Caunt

Vous pouvez ajouter des actifs non-PNG en modifiant manuellement la représentation JSON de l'actif. Le moyen le plus simple est de copier un actif existant et de le modifier:

  1. Faites un clic droit sur un actif existant et choisissez Afficher dans le Finder
  2. Copiez et collez l'élément .imageset existant et renommez-le, par exemple. my_image.imageset
  3. Double-cliquez sur le nouveau .imageset
  4. Supprimer toutes les images existantes dans le dossier
  5. Copier dans vos fichiers JPEG
  6. Editez le fichier Contents.json en remplaçant les valeurs de la clé filename par vos noms de fichiers JPEG.

Votre Contents.json ressemblera à quelque chose comme ceci:

{
  "images" : [
    {
      "idiom" : "universal",
      "scale" : "1x",
      "filename" : "my_image.jpg"
    },
    {
      "idiom" : "universal",
      "scale" : "2x",
      "filename" : "[email protected]"
    }
  ],
  "info" : {
    "version" : 1,
    "author" : "xcode"
  }
}

Assurez-vous de faire référence à votre image par son nom, sans extension:

[UIImage imageNamed:@"my_image"]

Cette approche fonctionnera pour les GIF et autres actifs, car ils sont simplement copiés dans le bundle principal de l'application au moment de la compilation. Il est à noter que les images se voient attribuer une extension png lors de la copie dans le paquet, mais elles se chargent toujours correctement.

46
David Snabel-Caunt

À partir de Xcode 6.1, les images JPG peuvent maintenant être ajoutées à un catalogue d’actifs. Les étapes à ajouter sont:

  1. Exportez votre fichier JPG à la qualité souhaitée en utilisant les mêmes conventions de dénomination que pour les fichiers PNG (c.-à-d. heart.jpg[email protected][email protected])
  2. Faites glisser les fichiers JPG dans votre catalogue d'actifs à partir du Finder et ajoutez tout paramètre d'épissure ou spécifique à un périphérique à l'actif.
  3. Changez le 'rendu en tant que' en 'image originale' pour tous les JPG (sinon, ils apparaîtront en blanc dans le simulateur et sur l'appareil).
33
Kevin Sylvestre

Il semble que vous puissiez maintenant faire glisser des fichiers JPEG dans Xcode 6.0 Beta

11
onbek

Dans Xcode 6.x, vous pouvez faire glisser des jpeg vers le catalogue d’actifs. Si vous créez un UIImage à partir de l'actif, assurez-vous d'utiliser l'extension .jpg comme suit:

[UIImage imageNamed:@"myimage.jpg"];

Si l'extension n'est pas incluse, l'image apparaîtra simplement en blanc/blanc.

4
gavdotnet

Vous pouvez également renommer votre image.jpg en image.png si vous ne souhaitez pas modifier le fichier Contents.json. Vous pouvez ensuite ajouter les images au catalogue d'actifs, même s'il s'agit toujours de fichiers JPEG. Vous pouvez même les couper en utilisant Xcode.

Lorsque l'application est compilée, tous les actifs sont placés dans le fichier Assets.car. Je n'ai pas vérifié si à ce stade, ils sont convertis en png.

1
Carlos Parada

Essayez ceci . Importez rapidement des scripts de ressources pour résoudre les problèmes de vitesse d'importation et de changement de nom https://github.com/qdvictory/happyxcasset

0
Seamus