Saya punya UIImageView
dengan gambar. Sekarang saya memiliki gambar yang sama sekali baru (file grafik), dan ingin menampilkannya di ini UIImageView
. Jika saya hanya mengatur
myImageView.image = newImage;
gambar baru segera terlihat. Tidak dapat dianimasikan.
Saya ingin memudar dengan baik ke gambar baru. Saya pikir mungkin ada solusi yang lebih baik daripada hanya membuat yang baru UIImageView
di atasnya dan menyatu dengan animasi?
Jawaban:
Saya tidak yakin apakah Anda dapat menghidupkan UIViews dengan efek fade karena sepertinya semua transisi tampilan yang didukung didefinisikan dalam
UIViewAnimationTransition
enumerasi. Efek fading dapat dicapai dengan menggunakan CoreAnimation. Contoh contoh untuk pendekatan ini:sumber
adalah kemungkinan lain
sumber
Dalam kata-kata Michael Scott, tetap bodoh sederhana. Berikut adalah cara sederhana untuk melakukan ini di Swift 3 dan Swift 4 :
sumber
Berikut adalah salah satu contoh di Swift yang pertama-tama akan memotong gambar baru dan kemudian menambahkan animasi goyang:
Jika
imageView
benar ditambahkan ke tampilan sebagai subview, Toggling antaraselected = false
keselected = true
harus menukar gambar dengan animasi goyang.SNStockCellSelectionAccessoryViewImage
cukup kembalikan gambar yang berbeda berdasarkan kondisi pemilihan saat ini, lihat di bawah:Contoh GIF di bawah agak melambat, animasi sebenarnya terjadi lebih cepat:
sumber
Kode:
Contoh:
Menyenangkan, Lebih Banyak Solusi Verbose : ( Beralih dengan satu ketukan )
sumber
Coba ini:
sumber
Dengan Swift 3
Pemakaian:
sumber
Kenapa tidak coba ini.
Versi cepat:
sumber
setAnimationRepeatCount
sumber
Ada beberapa pendekatan berbeda di sini: UIAnimasi ke ingatan saya kedengarannya seperti tantangan Anda.
Sunting: terlalu malas padaku :)
Dalam posting, saya merujuk pada metode ini:
Tapi alih-alih animasi bingkai, Anda menghidupkan alpha:
sumber
Pada iOS 5 yang satu ini jauh lebih mudah:
sumber
Swift 4 Ini luar biasa
sumber
Jawaban Vladimir sempurna, tetapi siapa pun seperti saya yang mencari solusi cepat
Solusi ini Berfungsi untuk versi cepat 4.2
Anda dapat memanggil metode ini dari mana saja. Ini akan mengubah gambar ke yang berikutnya (gambar) dengan animasi.
Untuk Versi Swift 4.0 Gunakan solusi di bawah ini
sumber