Ist es möglich, andere Assets als PNG-Dateien zu einem Xcode-Asset-Katalog hinzuzufügen?
Wenn ich JPEG-Dateien in einen Asset-Katalog ziehe, werden sie von der Benutzeroberfläche nicht akzeptiert.
Sie können Nicht-PNG-Assets hinzufügen, indem Sie die JSON-Darstellung des Assets manuell bearbeiten. Am einfachsten ist es, ein vorhandenes Asset zu kopieren und zu ändern:
.imageset
-Element, fügen Sie es ein und benennen Sie es um, z. my_image.imageset
.imageset
.Contents.json
und ersetzen Sie die Werte für den Schlüssel filename
durch Ihre JPEG-DateinamenIhr Contents.json
sieht ungefähr so aus:
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x",
"filename" : "my_image.jpg"
},
{
"idiom" : "universal",
"scale" : "2x",
"filename" : "[email protected]"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
Vergewissern Sie sich, dass Sie sich auf Ihr Bild mit Namen und ohne Erweiterung beziehen:
[UIImage imageNamed:@"my_image"]
Dieser Ansatz funktioniert für GIFs und andere Assets, da diese zum Erstellungszeitpunkt nur in das Hauptpaket der App kopiert werden. Es ist erwähnenswert, dass die Bilder beim Kopieren in das Bundle mit einer PNG-Erweiterung enden, aber trotzdem korrekt geladen werden.
Ab Xcode 6.1 können nun JPG-Bilder einem Bestandskatalog hinzugefügt werden. Die Schritte zum Hinzufügen sind:
heart.jpg
[email protected]
[email protected]
).Es scheint, Sie können jetzt JPEGs in Xcode 6.0 Beta ziehen und ablegen
In Xcode 6.x können Sie JPEG-Dateien per Drag & Drop in den Asset-Katalog ziehen. Wenn Sie einen UIImage aus dem Asset erstellen, stellen Sie sicher, dass Sie die Erweiterung .jpg wie folgt verwenden:
[UIImage imageNamed:@"myimage.jpg"];
Wenn die Erweiterung nicht enthalten ist, erscheint das Bild nur weiß/leer.
Sie können image.jpg auch in image.png umbenennen, wenn Sie die Contents.json-Datei nicht ändern möchten. Sie können die Bilder dann dem Bestandskatalog hinzufügen, obwohl sie intern noch JPEG-Dateien sind. Sie können sie sogar mit Xcode schneiden.
Wenn die Anwendung kompiliert wird, werden alle Assets in der Datei Assets.car gespeichert. Ich habe nicht überprüft, ob sie zu diesem Zeitpunkt in png konvertiert werden.
Probieren Sie Folgendes aus: Importieren Sie schnell Ressourcenskripts, um die Importgeschwindigkeit zu beheben und Probleme umzubenennen https://github.com/qdvictory/happyxcasset