Dostosuj alfa UIColor

106

Ustawić UIColorza pomocą RGB na tle o UILabel. Próbuję dostosować alphajedyne. Jak mogę zmodyfikować alfa istniejącego rgb UIColor?

Edytować

Zasadniczo mam UILabelsto zestaw UIColor(używając rgb) i nie będę wiedział, jakiego koloru UILabelssą. W pewnym momencie będę musiał zmienić labelsalfę ”. Jak mogę po prostu zmienić kolor alfa etykiet?

Eric
źródło
Z góry zdefiniowanego UIColor? Jako etykiety możesz użyć .alphawłaściwości.
LinusGeffarth
Dzięki za odpowiedzi!. Mam predefiniowany UIColor. Nie chcę ustawiać etykiet alfa, ale kolory alfa
Eric

Odpowiedzi:

187

colorWithAlphaComponent: załatwił sprawę.

Musiałem więc:

self.mylabel.backgroundColor = [self.myLabel.backgroundColor colorWithAlphaComponent:0.3];
Eric
źródło
czy jest jakaś różnica między tym podejściem a tym? UIColor(red:0.07, green:0.44, blue:0.54, alpha:0.4)
Changerrs
@Changerrs: mogą się zdarzyć przypadki, kiedy będziemy musieli zastosować alfa do istniejącego koloru. tj. istniejących kolorów nie można modyfikować. Stąd w takich przypadkach mamy już wartość koloru, ale potem musimy zastosować do niej alfa, stąd przydaje się w takim przypadku colorWithAlphaComponent.
Bishal Ghimire
83

Swift 3 i 4

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

Szybki 2

yourUIView.backgroundColor = UIColor.whiteColor().colorWithAlphaComponent(0.75)
GraSim
źródło
13

Jeśli masz zdefiniowane kolory niestandardowe, możesz to również zrobić:

view.backgroundColor = [[MyClass someColor] colorWithAlphaComponent:0.25];
chris g
źródło
9

dlaczego nie używać label.alpha = 0.5? dostosować alfa etykiety?

aktualizacja: jeśli chcesz dostosować alfa ze starego koloru, oto przykład:

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
źródło
Nie chcę ustawiać etykiet alfa, chcę ustawić kolor etykiet alfa
Eric
Gdzie jest różnica?
LinusGeffarth
Jeśli ustawię alfa całej etykiety, to tekst również stanie się jaśniejszy, ponieważ ustawiam kolor tła etykiety
Eric
@Eric Czy masz na myśli zmianę alfa koloru z istniejącego UIColor?
JZAU
2

Proszę ustawić alfa w poniższym kodzie -

[UIColor colorWithRed:200.0/255.0 green:191.0/255.0 blue:231.0 /255.0 alpha:1.0]
Santu C
źródło
Mam ten kod, ale chcę zmodyfikować tylko alfę
Eric
chcesz ustawić kolor tła UIlabel i zmienić alfa UILabel, prawda? Proszę użyć powyższego kodu
Santu C
[UIColor colorWithRed: 200,0 / 255 zielony: 191,0 / 255 niebieski: 231,0 / 255 alpha: 1,0] zmień w ten sposób
Arun
Tak, dobrze, przepraszam przez pomyłkę
Santu C