Catatan Rilis Xcode 10: "Penyelesaian Kode untuk literal gambar Swift telah dihapus di Xcode 10"
Jadi itu bukan bug yang saya tidak dapat menambahkan gambar dalam kode (dan menjalankan proyek lama). Bagaimana kita kemudian menambahkan gambar mulai sekarang dalam kode karena hanya mengetik UIImageView(image:
tidak akan menerima png atau jpeg.
let cellImage: UIImageView = {
let image = UIImageView(image: ???))
return image
}()
Sistem: macOS Mojave
Xcode: Xcode 10 Beta 4
UIImage(named: "myImage")
seperti di masa lalu (?)Jawaban:
Di Xcode 10 dan Swift 4.2 , hanya fungsi penyelesaian kode (atau pelengkapan otomatis) dari Xcode IDE yang telah dihentikan untuk cara lama. Inilah cara baru:
Cukup ketik
image literal
dan itu akan lengkap dengan ikon default.Klik dua kali pada ikon ini dan itu akan membuka perpustakaan media di sebelah kanannya.
Pilih saja gambar Anda dan itu berfungsi seperti sebelumnya!
sumber
⇧
+⌘
+L
atau tombol + di kanan atas Xcode.Menemukan Pintasan untuk membuka Tab Perpustakaan Media:
⇧+ ⌘+M
Pada titik ini, dokumentasi resmi tidak mencakup beberapa kasus penggunaan di Xcode 10 beta jadi saya tidak dapat menemukan cara untuk memindahkan bagian media ke posisi lama.
sumber
Anda dapat menggunakan Media Library di Xcode untuk menambahkan literal gambar ke kode Anda:
Dan kemudian pilih gambar dari perpustakaan dan seret & lepas ke kode Anda
Ini akan membuat gambar literal
sumber
@1x
,@2x
dan@3x
aset dan karenanya tidak dapat dikompilasiUntuk kepentingan orang lain dengan kode lama yang menggunakan Swift Image Literals, kode dan sintaks dari fungsi literal gambar itu sendiri masih valid dan berfungsi dengan baik di Xcode 10 dengan Swift 4.2.
Tidak perlu melakukan rollback atau refactor kode yang ada yang menggunakan literal gambar ini, dan kode tersebut masih dapat digunakan sebagai berikut:
imageView.image = #imageLiteral(resourceName: imageNameString)
Hanya fungsi penyelesaian kode (atau pelengkapan otomatis) dari Xcode IDE yang telah dihentikan.
MEMPERBARUI
Perbedaan representasi gambar-literal di versi sebelumnya dan saat ini atau Xcode / Swift:
image = #imageLiteral(resourceName: "flower.jpg")
Seperti yang diilustrasikan oleh ekstrak, literal gambar diwakili sejajar dengan thumbnail dari gambar aslinya. Namun, sekarang, hanya ikon umum yang digunakan sebagai gantinya. Agaknya, ini bertujuan untuk mengurangi beban pada IDE, dengan menghilangkan overhead penanganan dan menampilkan thumbnail sebaris.
sumber
TIP: Untuk memperbaiki tiga resolusi setelah menambahkan gambar literal dalam kode.
1. Hapus yang lain, simpan hanya satu gambar
2. Komentari kode baris Anda dengan gambar literal, kemudian akan muncul gambar literal dalam kode, seperti:
#imageLiteral(resourceName: "[email protected]"
3. dalam
resourceName
nilai, hapus@2x
dan ekstensi file, seperti.png
, simpan hanya nama gambar:#imageLiteral(resourceName: "image")
4. Hapus komentar! Gambar akan ditampilkan dalam kode.
sumber
raging dumpster fire
;)).image name
(tetapi tetap menyimpannya sebagai literal gambar) daripada harus memilih dari alat pilih.Di Xcode 11, pustaka media sekarang berada di bawah View> Show Library (SHIFT + CMD + L).
sumber
Jika ada yang menggunakan Xcode 11 maka Anda dapat menemukan semua media menggunakan opsi di bawah ini:
sumber
sumber
Saya menggunakan Xcode 10 beta 4 dan saya memiliki masalah yang sama! Diselesaikan menggunakan cara lama untuk melewatkan gambar
PizzaModel( nome: "Marinara", ingredienti: "Pomodoro, Aglio", calorie: "729", img: UIImage(named: "marinara")! )
sumber