Passen Sie das Alpha von UIColor an

106

Ich habe a UIColorusing rgb auf den Hintergrund von a gesetzt UILabel. Ich versuche das alphanur anzupassen . Wie kann ich das Alpha eines vorhandenen RGB ändern UIColor?

Bearbeiten

Grundsätzlich habe UILabelsich ein Set UIColor(mit RGB) und ich werde nicht wissen, welche Farbe die UILabelssind. labelsAb einem bestimmten Punkt muss ich das Alpha ändern . Wie kann ich einfach die Beschriftungsfarbe Alpha ändern?

Eric
quelle
Von einem vordefinierten UIColor? Für eine Beschriftung können Sie die .alphaEigenschaft verwenden.
LinusGeffarth
Danke für die Antwort!. Ich habe eine vordefinierte UIColor. Ich möchte nicht die Beschriftungen Alpha setzen, sondern die Farben Alpha
Eric

Antworten:

187

colorWithAlphaComponent: hat den Trick gemacht.

Also musste ich tun:

self.mylabel.backgroundColor = [self.myLabel.backgroundColor colorWithAlphaComponent:0.3];
Eric
quelle
Gibt es einen Unterschied zwischen diesem Ansatz und sagen Sie das? UIColor(red:0.07, green:0.44, blue:0.54, alpha:0.4)
Changerrs
@Changerrs: Es kann Fälle geben, in denen Alpha auf eine vorhandene Farbe angewendet werden muss. dh vorhandene Farben können nicht geändert werden. Daher haben wir für solche Fälle bereits einen Farbwert, müssen dann aber Alpha darauf anwenden, daher ist colorWithAlphaComponent für einen solchen Fall praktisch.
Bishal Ghimire
83

Schnelle 3 & 4

yourUIView.backgroundColor = UIColor.white.withAlphaComponent(0.75)

Swift 2

yourUIView.backgroundColor = UIColor.whiteColor().colorWithAlphaComponent(0.75)
GraSim
quelle
13

Wenn Sie benutzerdefinierte Farben definiert haben, können Sie dies auch tun:

view.backgroundColor = [[MyClass someColor] colorWithAlphaComponent:0.25];
chris g
quelle
9

warum nicht mit label.alpha = 0.5 ? um das Alpha Ihres Labels anzupassen?

Update: Wenn Sie Alpha von einer alten Farbe anpassen möchten, ist hier ein Beispiel:

UIColor uicolor = [UIColor greenColor];
CGColorRef color = [uicolor CGColor];

int numComponents = CGColorGetNumberOfComponents(color);

UIColor newColor;
if (numComponents == 4)
{
    const CGFloat *components = CGColorGetComponents(color);
    CGFloat red = components[0];
    CGFloat green = components[1];
    CGFloat blue = components[2];
    newColor = [UIColor colorWithRed: red green: green blue: blue alpha: YOURNEWALPHA];

}
JZAU
quelle
Ich möchte nicht die Beschriftungen Alpha setzen, ich möchte die Beschriftungen Farbe Alpha setzen
Eric
Wo ist der Unterschied?
LinusGeffarth
Wenn ich das Alpha des gesamten Etiketts einstelle, wird der Text auch heller, da ich die Hintergrundfarbe des Etiketts einstelle
Eric
@Eric Meinst du, das Alpha der Farbe von einer vorhandenen UIColor zu ändern?
JZAU
2

Bitte setzen Sie Alpha in den folgenden Code -

[UIColor colorWithRed:200.0/255.0 green:191.0/255.0 blue:231.0 /255.0 alpha:1.0]
Santu C.
quelle
Ich habe diesen Code, aber ich möchte nur das Alpha ändern
Eric
Sie möchten die Hintergrundfarbe von UIlabel festlegen und das Alpha von UILabel ändern, oder? Bitte verwenden Sie den obigen Code
Santu C
[UIColor colorWithRed: 200.0 / 255 green: 191.0 / 255 blue: 231.0 / 255 alpha: 1.0] so ändern
Arun
Ja Richtig, Entschuldigung aus Versehen
Santu C