Saya memiliki gambar bernama arrowWhite
. Saya ingin mewarnai gambar ini menjadi hitam.
func attachDropDownArrow() -> NSMutableAttributedString {
let image:UIImage = UIImage(named: "arrowWhite.png")!
let attachment = NSTextAttachment()
attachment.image = image
attachment.bounds = CGRectMake(2.25, 2, attachment.image!.size.width - 2.25, attachment.image!.size.height - 2.25)
let attachmentString = NSAttributedString(attachment: attachment)
let myString = NSMutableAttributedString(string: NSString(format: "%@", self.privacyOptions[selectedPickerRow]) as String)
myString.appendAttributedString(attachmentString)
return myString
}
Saya ingin memasukkan gambar ini blackColour
.
tintColor
tidak bekerja...
Jawaban:
Swift 4 dan 5
Panggil seperti ini:
Alternativ Untuk Swift 3, 4 atau 5
Untuk Swift 2.3
Panggil seperti ini:
sumber
Ada metode bawaan untuk mendapatkan
UIImage
yang secara otomatis ditampilkan dalam mode templat . Ini menggunakan tintColor tampilan untuk mewarnai gambar:sumber
Pertama, Anda harus mengubah properti rendering gambar menjadi "Gambar Template" di folder .xcassets. Anda kemudian dapat mengubah properti warna tint dari instance UIImageView Anda seperti ini:
sumber
tintColor
dihapus dariUIImage
suatu saat? Saya sangat senang dengan jawaban ini, tetapi tampaknya tidak ada di iOS 10Saya berakhir dengan ini karena jawaban lain kehilangan resolusi atau bekerja dengan UIImageView, bukan UIImage, atau mengandung tindakan yang tidak perlu:
Cepat 3
sumber
UIImage
. Jawaban yang sangat bagus, terima kasih!Fungsi ini menggunakan grafik inti untuk mencapai ini.
sumber
maskWithColor
ekstensi berfungsi tetapi mengabaikannyascale
sehingga gambar tidak terlihat tajam pada perangkat resolusi tinggi.Untuk swift 4.2 untuk mengubah warna gambar UII sesuai keinginan (warna solid)
Cara Penggunaan
sumber
Buat ekstensi di UIImage:
Maka Anda bisa menggunakannya seperti itu:
sumber
scale
,orientation
dan parameter lain dariUIImage
.Saya menemukan solusi dari HR paling membantu tetapi sedikit menyesuaikannya untuk Swift 3
Ini mempertimbangkan skala dan juga tidak menghasilkan gambar dengan resolusi lebih rendah seperti beberapa solusi lainnya. Penggunaan:
sumber
Pembungkus ekstensi Swift 3 dari jawaban @Nikolai Ruhe.
Ini bisa digunakan
UIButton
juga, misalnya:sumber
Cepat 4
sumber
Tambahkan ekstensi ini ke kode Anda dan ubah warna gambar di papan cerita itu sendiri.
Cepat 4 & 5:
Pratinjau Papan Cerita:
sumber
Untuk iOS13 + ada metode withTintColor (__ :) dan withTintColor (_: renderingMode :) .
Contoh penggunaan:
atau
sumber
Cepat 3
21 Juni 2017
Saya menggunakan CALayer untuk menutupi gambar yang diberikan dengan Alpha Channel
sumber
Versi Swift 3 dengan skala dan Orientasi dari jawaban @kuzdu
sumber
Cepat 4.
Gunakan ekstensi ini untuk membuat gambar berwarna solid
sumber
Posting iOS 13 Anda dapat menggunakannya seperti ini
sumber
Tambahkan Fungsi ekstensi:
Gunakan seperti:
sumber
Berikut adalah solusi HR versi 3 yang cepat.
sumber
Karena saya menemukan jawaban Darko sangat membantu dalam mewarnai pin khusus untuk anotasi mapView, tetapi harus melakukan beberapa konversi untuk Swift 3, saya pikir saya akan membagikan kode yang diperbarui bersama dengan rekomendasi saya untuk jawabannya:
sumber
Saya telah memodifikasi ekstensi yang ditemukan di sini: Github Gist ,
Swift 3
yang telah saya uji dalam konteks ekstensi untuk UIImage.sumber