У меня изображение называется arrowWhite
. Я хочу окрасить это изображение в черный цвет.
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
}
Я хочу вставить это изображение blackColour
.
tintColor
не работает...
Ответы:
Swift 4 и 5
Звоните так:
Альтернатива для Swift 3, 4 или 5
Для Swift 2.3
Звоните так:
источник
Есть встроенный метод для получения,
UIImage
который автоматически отображается в режиме шаблона . Это использует tintColor представления для раскрашивания изображения:источник
Сначала вы должны изменить свойство рендеринга изображения на «Изображение шаблона» в папке .xcassets. Затем вы можете просто изменить свойство цвета оттенка экземпляра вашего UIImageView следующим образом:
источник
tintColor
удаленUIImage
в какой-то момент? Я был в восторге от этого ответа, но, похоже, его нет в iOS 10Я закончил с этим, потому что другие ответы либо теряют разрешение, либо работают с UIImageView, а не с UIImage, либо содержат ненужные действия:
Swift 3
источник
UIImage
s. Действительно хороший ответ, спасибо!Эта функция использует для этого базовую графику.
источник
maskWithColor
расширение работает, но игнорирует,scale
поэтому изображение не выглядит резким на устройствах с более высоким разрешением.Для быстрой версии 4.2, чтобы изменить цвет UIImage, как вы хотите (сплошной цвет)
Как пользоваться
источник
Создайте расширение на UIImage:
Тогда вы можете использовать это так:
источник
scale
,orientation
и другие параметрыUIImage
.Я нашел решение HR наиболее полезным, но немного адаптировал его для Swift 3.
При этом учитывается масштаб, а также не получается изображение с более низким разрешением, как в некоторых других решениях. Использование :
источник
Оболочка расширения Swift 3 из ответа @Nikolai Ruhe.
Его также можно использовать
UIButton
, например:источник
Swift 4
источник
Добавьте это расширение в свой код и измените цвет изображения в самой раскадровке.
Swift 4 и 5:
Предварительный просмотр раскадровки:
источник
Для iOS13 + существуют методы withTintColor (__ :) и withTintColor (_: renderingMode :) .
Пример использования:
или
источник
Swift 3
21 июня 2017 г.
Я использую CALayer, чтобы замаскировать данное изображение с помощью альфа-канала
источник
Версия Swift 3 с масштабом и ориентацией из ответа @kuzdu
источник
Свифт 4.
Используйте это расширение для создания однотонного изображения
источник
Опубликовать iOS 13 можно примерно так
источник
Добавить функцию расширения:
Используйте как:
источник
Вот быстрая 3 версия решения HR.
источник
Поскольку я нашел ответ Дарко очень полезным в раскрашивании пользовательских контактов для аннотаций mapView, но мне пришлось сделать некоторые преобразования для Swift 3, я подумал, что поделюсь обновленным кодом вместе с моей рекомендацией для его ответа:
источник
Я изменил найденное здесь расширение: Github Gist ,
Swift 3
которое я тестировал в контексте расширения для UIImage.источник