2010-07-02 9 views
37

Attualmente sto facendo questo:Come impostare l'alfa di uiclearcolor?

UIColor *myColor = [UIColor clearColor]; 

Questo è grande, ma vorrei specificare un determinato alpha di "myColor". Come potrei farlo?

+1

'+ [UIColor clearColor]' restituisce effettivamente un nero con trasparenza al 100% (o 0% di opacità o un valore alfa di 0.0). Se ora vuoi il nero con alpha specifico, usa '+ [UIColor blackColor]' per 1.0 alpha o '- [UIColor colorWithWhite: alpha:]' –

risposta

11

[UIColor clearColor] è, come devo dirlo ?, chiaro!

È un metodo di classe di convenienza che restituisce uno UIColor con alpha a zero.

Se si desidera un colore con una quantità frazionaria di trasparenza:

+ (UIColor *)colorWithRed:(CGFloat)red green:(CGFloat)green blue:(CGFloat)blue alpha:(CGFloat)alpha 

O uno degli altri metodi di classe UIColor.

11

È possibile utilizzare colorWithWhite:alpha in questo modo:

[UIColor colorWithWhite:1.0 alpha:0.5]; 

O se volete un colore specifico:

[UIColor colorWithRed:1.0 green:1.0 blue:0.3 alpha:0.72]; 

Partenza the docs.

126

Se si dispone di un colore esistente, è possibile restituire una nuova con un alfa specificato, in questo modo:

- (void)setBackgroundColor:(UIColor *)color 
{ 
    self.backgroundColor = [color colorWithAlphaComponent:0.3f]; 
} 
+3

+ 1Questo è utile se hai già un colore e vuoi impostare l'opacità che è non è possibile con altri APIS .. – Krishnan

+2

semplicemente fantastico! –

+0

Incredibile grazie! – Supertecnoboff

5

Per Swift è possibile utilizzare:

UIColor.black.withAlphaComponent(0.5) 

o RGB Colori:

UIColor(red: 0/255.0 , green: 0/255.0 , blue: 0/255.0 , alpha: 0.5) 
0

Se si preferisce un semplice eppure Po werful soluzione in Swift quindi checkout HandyUIKit. Installarlo nel progetto con Cartagine - allora la vostra vita diventa più facile:

import HandyUIKit 

// creates a new UIColor object with the given value set 
myColor.change(.alpha, to: 0.2) 

C'è anche la possibilità di applicare una variazione relativa :

// create a new UIColor object with alpha increased by 0.2 
myColor.change(.alpha, by: 0.2) 

Spero che aiuta!

0

Per rispondere a questa domanda

UIColor *myColor = [[UIColor clearColor] colorWithAlphaComponent:0.3f]; 

Presumo che avete "clearColor" come UIColor valida;

@refer James O'Brien Solution;