2015-06-19 30 views
63

Ustawiam UIColor używając rgb na tle UILabel. Próbuję dostosować tylko alpha. Jak mogę zmodyfikować alfa istniejącego rgb UIColor?Dostosuj alfa UIColor

Edit

Zasadniczo mam UILabels że posiadanie zestawu UIColor (przy użyciu RGB), a ja nie wiem, jaki kolor UILabels są. W pewnym momencie będę musiał zmienić alpha labels. Jak mogę zmienić kolor etykiety alfa?

+0

z góry określonego 'UIColor'? W przypadku etykiety możesz użyć własności '.alfa'. – LinusGeffarth

+0

Dzięki za odpowiedź !. Mam predefiniowany UIColor. Nie chcę ustawiać etykiet alfa, ale kolory alfa – Eric

Odpowiedz

6

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

aktualizacja: jeśli chcesz dopasować 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]; 

} 
+0

Nie chcę ustawiać etykiet alfa, chcę ustawić kolor etykiet alfa – Eric

+0

Gdzie jest różnica? – LinusGeffarth

+0

Jeśli ustawię wartość alfa całej etykiety, tekst również stanie się jaśniejszy, ponieważ ustawiam kolor tła etykiety – Eric

1

Proszę ustawić alfa w kodzie poniżej -

[UIColor colorWithRed:200.0/255.0 green:191.0/255.0 blue:231.0 /255.0 alpha:1.0] 
+0

Mam ten kod, ale chcę zmodyfikować tylko alfa – Eric

+0

Twój kod jest prawidłowy? ... – Spynet

+0

tak można modyfikować tylko wartość alfa –

137

colorWithAlphaComponent: załatwiło sprawę.

Więc co miałem zrobić, to:

self.mylabel.backgroundColor = [self.myLabel.backgroundColor colorWithAlphaComponent:0.3]; 
+0

czy jest jakaś różnica między tym podejściem i powiedz to? 'UIColor (czerwony: 0.07, zielony: 0.44, niebieski: 0.54, alfa: 0.4)' – Changerrs

+0

@Changerrs: mogą wystąpić przypadki, gdy musimy zastosować alfa do istniejącego koloru. tzn. istniejące kolory nie mogą być modyfikowane.Stąd dla takich przypadków mamy już wartość koloru, ale potem musimy zastosować alfa, stąd kolorWithAlphaComponent jest przydatny w takim przypadku. –

39

Swift 4

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

Swift 3

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

Swift 2

yourUIView.backgroundColor = UIColor.whiteColor().colorWithAlphaComponent(0.75) 
5

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

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