Saya tahu ini adalah fitur baru dan ini mungkin tidak dapat dilakukan, tetapi saya ingin sekali dapat menggunakan Katalog Aset untuk mengatur aset saya, tetapi saya mengakses semua gambar saya secara terprogram. Bagaimana saya mengakses gambar saya, sekarang? Apakah saya masih mengaksesnya dengan nama file mereka seperti ini:
[UIImage imageNamed:@"my-asset-name.png"];
Tampaknya, Katalog Aset tidak mereferensikan ekstensi, jadi apakah akan lebih efisien untuk mengaksesnya tanpa ".png"?
Alasan saya meminta alih-alih menguji diri saya sendiri adalah bahwa bahkan setelah menghapus aset dan Katalog Aset saya, lalu membersihkan folder build, saya masih dapat mengakses aset saya di aplikasi saya. Ini mencegah saya untuk menguji Katalog Aset, ketika saya menerapkannya.
Setelah melihat-lihat Katalog Aset, saya menemukan "Contents.json" untuk setiap aset dan diformat seperti ini:
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"idiom" : "universal",
"scale" : "2x",
"filename" : "[email protected]"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
Saya masih tidak yakin bagaimana saya harus mengaksesnya, tetapi mungkin ini akan membantu?
sumber
UIImage
. Dan dari apa yang saya lihat, tidak, karena setiap Gambar Kategori dalam Grup bisa jadi gambar yang sama sekali berbeda, jadi tidak akan ada informasi umum, seperti pemotongan, yang tersedia. Atau apakah saya melewatkan sesuatu?UIImage(named: imageName)
Juga Apple telah menambahkan cara baru untuk mendapatkan gambar dari aset dengan Swift 3, Ini disebut sebagai 'Image Literal' dan berfungsi seperti di bawah ini:
sumber
Cepat
Anda bisa mendapatkan referensi ke gambar di katelog aset Anda dengan
Anda tidak perlu menyertakan ekstensi.
sumber
@RileyE 100% benar. Namun, dari pengalaman saya, perlu juga dicatat bahwa terkadang referensi katalog aset untuk gambar dapat berisi spasi kosong. Anda mungkin tidak akan menyadari jika menggunakan storyboard / xibs karena pelengkapan otomatis akan menambahkannya. Tetapi ketika Anda mereferensikannya dari kode, tidak begitu jelas apa masalahnya.
sumber