Tengo una imagen llamada arrowWhite
. Quiero colorear esta imagen en negro.
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
}
Quiero incluir esta imagen blackColour
.
tintColor
no está trabajando...
Respuestas:
Swift 4 y 5
Llame así:
Alternativ para Swift 3, 4 o 5
Para Swift 2.3
Llame así:
fuente
Hay un método integrado para obtener un
UIImage
que se representa automáticamente en modo plantilla . Esto usa tintColor de una vista para colorear la imagen:fuente
Primero tiene que cambiar la propiedad de renderizado de la imagen a "Imagen de plantilla" en la carpeta .xcassets. Luego puede simplemente cambiar la propiedad de color de tinte de la instancia de su UIImageView así:
fuente
tintColor
Fue eliminadoUIImage
en algún momento? Estaba emocionado con esta respuesta, pero no parece existir en iOS 10Terminé con esto porque otras respuestas pierden resolución o funcionan con UIImageView, no UIImage, o contienen acciones innecesarias:
Swift 3
fuente
UIImage
s pixelados . Muy buena respuesta, ¡gracias!Esta función utiliza gráficos básicos para lograr esto.
fuente
maskWithColor
La extensión funciona, pero la ignorascale
para que la imagen no se vea nítida en dispositivos de mayor resolución.Para swift 4.2 para cambiar el color de UIImage como desee (color sólido)
Cómo utilizar
fuente
Crea una extensión en UIImage:
Entonces puedes usarlo así:
fuente
scale
,orientation
y otros parámetros deUIImage
.Encontré que la solución de RR.HH. era muy útil, pero la adapté ligeramente para Swift 3
Esto tiene en cuenta la escala y tampoco produce una imagen de menor resolución como otras soluciones. Uso:
fuente
Envoltorio de extensión Swift 3 de @Nikolai Ruhe respuesta.
También se puede utilizar para
UIButton
, por ejemplo:fuente
Rápido 4
fuente
Agregue esta extensión en su código y cambie el color de la imagen en el propio guión gráfico.
Swift 4 y 5:
Vista previa del guión gráfico:
fuente
Para iOS13 + hay withTintColor (__ :) y withTintColor (_: renderingMode :) .
Uso de ejemplo:
o
fuente
Swift 3
21 de junio de 2017
Uso CALayer para enmascarar la imagen dada con Alpha Channel
fuente
Versión Swift 3 con escala y orientación de @kuzdu respuesta
fuente
Rápido 4.
Utilice esta extensión para crear una imagen de color sólido
fuente
Publica iOS 13, puedes usarlo de esta manera
fuente
Agregar función de extensión:
Usar como:
fuente
Aquí está la versión Swift 3 de la solución de RRHH.
fuente
Como la respuesta de Darko me resultó muy útil para colorear pines personalizados para las anotaciones de mapView, pero tuve que hacer algunas conversiones para Swift 3, pensé en compartir el código actualizado junto con mi recomendación para su respuesta:
fuente
He modificado la extensión que se encuentra aquí: Github Gist ,
Swift 3
que he probado en el contexto de una extensión para UIImage.fuente