Ich habe eine Reihe von Symbolen erstellt, die transparente weiße PNGs sind:
Und ich möchte sie in andere Farben bringen können. Wie blau, grau usw.
Ich habe festgestellt, dass "geklickt / getippt" automatisch in grau geändert wird. Ich gehe also davon aus, dass ich dieses Grau entweder mit einem Fingertipp oder in seinem normalen Zustand nach Belieben ändern kann:
Was wäre der beste Weg, um dies zu erreichen?
iOS 7 führte eine Eigenschaft namens tintColor für Ansichten (einschließlich UIImageView) ein. Sie müssen jedoch auch den Rendering-Typ auf dem UIImage festlegen, damit dies Auswirkungen hat.
Dies sollte den gewünschten Effekt in einem Standardzustand erzeugen.
quelle
Sie können diese Erweiterung verwenden:
quelle
Verwenden Sie zum Ändern des Bildtons ( Auswahl , klassisches Bild , Foto ) Folgendes:
Beispielbild:
Swift 2
UPD
Swift 3
quelle
Wenn Sie das Bild für eine Schaltfläche festlegen, gehen Sie einfach zum Attributinspektor und ändern Sie den Schaltflächentyp in System. Stellen Sie dann das Bild ein und ändern Sie die Farbtonfarbe. Die Farbe des Bildes ändert sich. Wenn dies nicht geschehen ist, überprüfen Sie den Schaltflächentyp.
quelle
Wenn Sie Asset-Kataloge verwenden, können Sie festlegen, dass das Image-Asset selbst im Vorlagenmodus gerendert wird. Danach können Sie die tintColor der Schaltfläche im Interface Builder (oder im Code) einstellen und es sollte dauern.
quelle
Swift 4 oder 5
Verwenden:
quelle
Swift 4
quelle
Wenn Sie Asset-Kataloge verwenden, können Sie festlegen, dass das Image-Asset selbst im Vorlagenmodus gerendert wird. Danach können Sie die tintColor der Schaltfläche im Interface Builder (oder im Code) einstellen und es sollte dauern.
quelle
Ich fand den einfachsten Ansatz unten,
Öffnen assetcatalog und wählen Sie das Bild dann gehen Sie auf Attribute Inspektor und ändern
Render As
zu ,Template Image
wie untenFügen Sie dann den folgenden Code in die Schaltfläche Aktionsmethode ein
quelle
Swift 4 und 4.2
quelle