Eu tenho uma imagem chamada arrowWhite
. Eu quero colorir esta imagem de preto.
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
}
Eu quero colocar essa imagem blackColour
.
tintColor
não está funcionando...
Respostas:
Swift 4 e 5
Chame assim:
Alternativ para Swift 3, 4 ou 5
Para Swift 2.3
Chame assim:
fonte
Existe um método embutido para obter um
UIImage
que é automaticamente renderizado no modo de modelo . Isso usa o tintColor de uma visualização para colorir a imagem:fonte
Primeiro, você deve alterar a propriedade de renderização da imagem para "Imagem de modelo" na pasta .xcassets. Você pode então apenas alterar a propriedade tint color da instância de seu UIImageView assim:
fonte
tintColor
removidoUIImage
em algum ponto? Fiquei animado com esta resposta, mas ela não parece existir no iOS 10Acabei com isso porque outras respostas perdem resolução ou funcionam com UIImageView, não UIImage, ou contêm ações desnecessárias:
Swift 3
fonte
UIImage
s pixelizados . Resposta muito boa, obrigado!Esta função usa gráficos básicos para conseguir isso.
fonte
maskWithColor
extensão funciona, mas isso ignorascale
então a imagem não parece nítida em dispositivos de resolução mais alta.Para o Swift 4.2 para alterar a cor da imagem UII como você deseja (cor sólida)
Como usar
fonte
Crie uma extensão em UIImage:
Então você pode usá-lo assim:
fonte
scale
,orientation
e outros parâmetros deUIImage
.Achei a solução do RH muito útil, mas adaptei-a ligeiramente para o Swift 3
Isso leva em consideração a escala e também não produz uma imagem de baixa resolução como algumas outras soluções. Uso:
fonte
Wrapper de extensão Swift 3 de @Nikolai Ruhe resposta.
Pode ser usado
UIButton
também, por exemplo:fonte
Swift 4
fonte
Adicione esta extensão em seu código e altere a cor da imagem no próprio storyboard.
Swift 4 e 5:
Pré-visualização do storyboard:
fonte
Para iOS13 + existem withTintColor (__ :) e withTintColor (_: renderingMode :) .
Exemplo de uso:
ou
fonte
Swift 3
21 de junho de 2017
Eu uso CALayer para mascarar a imagem dada com Alpha Channel
fonte
Versão Swift 3 com escala e orientação da resposta @kuzdu
fonte
Swift 4.
Use esta extensão para criar uma imagem de cor sólida
fonte
Após o iOS 13, você pode usar algo assim
fonte
Adicionar função de extensão:
Use como:
fonte
Aqui está a versão 3 do swift da solução de RH.
fonte
Uma vez que achei a resposta de Darko muito útil para colorir pinos personalizados para anotações mapView, mas tive que fazer algumas conversões para Swift 3, pensei em compartilhar o código atualizado junto com minha recomendação para sua resposta:
fonte
Modifiquei a extensão encontrada aqui: Github Gist , para a
Swift 3
qual testei no contexto de uma extensão para UIImage.fonte