2010-07-02 2 views
37

В настоящее время я делаю это:Как установить альфа uiclearcolor?

UIColor *myColor = [UIColor clearColor]; 

Это здорово, но я хотел бы указать определенный альфа «myColor». Как мне это сделать?

+1

'+ [UIColor clearColor]' фактически возвращает черный цвет со 100% прозрачностью (или непрозрачность 0% или альфа-значение 0.0). Если вы теперь хотите черную с определенной альфой, используйте '+ [UIColor blackColor]' для 1.0 alpha или '- [UIColor colorWithWhite: alpha:]' –

ответ

11

[UIColor clearColor] есть, как я должен положить это ?, ясно!

Это метод класса удобства, возвращающий UIColor с альфой в ноль.

Если вы хотите цвет с дробным количеством прозрачности:

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

Или один из других UIColor методов класса.

11

Вы можете использовать colorWithWhite:alpha так:

[UIColor colorWithWhite:1.0 alpha:0.5]; 

Или, если вы хотите специфический цвет:

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

ЗАКАНЧИВАТЬ the docs.

126

Если у вас есть существующий цвет, вы можете вернуть новый с указанным альфа, например:

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

+ 1Это полезно, если у вас уже есть цвет и вы хотите установить непрозрачность, которая невозможно используя другой APIS .. – Krishnan

+2

как раз удивительный!. –

+0

Удивительное спасибо! – Supertecnoboff

5

Для Swift вы можете использовать:

UIColor.black.withAlphaComponent(0.5) 

или RGB цвета:

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

Если вы предпочитаете простой и еще ро werful решение в Swift затем оформить заказ HandyUIKit. Установите его в свой проект с помощью Карфаген - тогда ваша жизнь станет проще:

import HandyUIKit 

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

Существует также возможность применить относительное изменение:

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

Я надеюсь, что это помогает!

0

Чтобы ответить на этот вопрос

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

я предполагаю, что у вас есть "clearColor" в качестве действительного UIColor;

@refer James O'Brien Решение;