J'ai un ensemble d'icônes que j'ai créé qui sont des PNG blancs transparents:
Et ce que j'aimerais faire, c'est pouvoir les teinter avec d'autres couleurs. Tels que le bleu, le gris, etc.
J'ai remarqué que «cliqué / tapé», ils se transforment automatiquement en gris. Je suppose donc que je peux changer ce gris en ce que je veux avec un robinet ou son état normal:
Quelle serait la meilleure façon d'y parvenir?
iOS 7 a introduit une propriété appelée tintColor pour les vues (y compris UIImageView). Cependant, vous devez également définir le type de rendu sur l'UIImage pour que cela ait un effet.
Cela devrait produire l'effet que vous recherchez dans un état par défaut.
la source
Vous pouvez utiliser cette extension:
la source
Pour changer la teinte de l'image ( choix , image classique , photo ), utilisez cela:
Exemple d'image:
Swift 2
UPD
Swift 3
la source
Si vous définissez l'image d'un bouton, accédez simplement à l'inspecteur d'attributs et changez le type de bouton en système. Ensuite, définissez l'image et changez la couleur de la teinte. La couleur de l'image changera. Si cela n'a pas eu lieu, vérifiez le type de bouton.
la source
Swift 4 ou 5
Utilisation:
la source
Si vous utilisez des catalogues de ressources, vous pouvez définir la ressource image elle-même pour qu'elle s'affiche en mode modèle. Après cela, vous pouvez définir le tintColor du bouton dans Interface Builder (ou dans le code) et cela devrait prendre.
la source
Swift 4
la source
Si vous utilisez des catalogues de ressources, vous pouvez définir la ressource image elle-même pour qu'elle s'affiche en mode modèle. Après cela, vous pouvez définir le tintColor du bouton dans Interface Builder (ou dans le code) et cela devrait prendre.
la source
J'ai trouvé l'approche la plus simple ci-dessous,
Ouvrez le catalogue d'actifs et sélectionnez l'image, puis accédez à l' inspecteur d'attributs et changez
Render As
enTemplate Image
comme ci-dessousEnsuite, ajoutez le code ci-dessous dans le bouton Méthode d'action
la source
Swift 4 et 4.2
la source