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?


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];

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)

13

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

view.backgroundColor = [[MyClass someColor] colorWithAlphaComponent:0.25];

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];

}

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]

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
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.