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?


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

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)

13

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

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

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

}

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]

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
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.