2015-06-19 15 views
63

Tôi đặt UIColor bằng rgb thành nền của UILabel. Tôi đang cố điều chỉnh chỉ alpha. Làm thế nào tôi có thể sửa đổi alpha của một rgb UIColor hiện có?Điều chỉnh alpha của UIColor

Sửa

Về cơ bản tôi có UILabels rằng có một bộ UIColor (sử dụng rgb), và tôi sẽ không biết những gì màu UILabels đang có. Tại một thời điểm nhất định, tôi sẽ phải thay đổi labels alpha`. Làm thế nào tôi có thể thay đổi màu alpha nhãn?

+0

Trong một predefined 'UIColor'? Đối với nhãn, bạn có thể sử dụng thuộc tính '.alpha'. – LinusGeffarth

+0

Cảm ơn bạn đã phản hồi !. Tôi có một UIColor được xác định trước. Tôi không muốn đặt nhãn alpha, nhưng màu alpha – Eric

Trả lời

6

tại sao không sử dụng label.alpha = 0.5? để điều chỉnh alpha của nhãn của bạn?

update: nếu bạn muốn điều chỉnh alpha từ một màu cũ, đây là một ví dụ:

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

Tôi không muốn đặt nhãn alpha, tôi muốn đặt màu nhãn alpha – Eric

+0

Sự khác biệt ở đâu? – LinusGeffarth

+0

Nếu tôi đặt alpha của toàn bộ nhãn, thì văn bản cũng sẽ trở nên nhẹ hơn vì tôi đang đặt màu nền của nhãn – Eric

1

Hãy đặt thông số alpha trong mã dưới đây -

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

Tôi có mã đó, nhưng tôi muốn sửa đổi chỉ alpha – Eric

+0

mã của bạn là đúng? .... – Spynet

+0

có bạn có thể sửa đổi giá trị alpha chỉ –

137

colorWithAlphaComponent: đã làm các trick.

Vì vậy, những gì tôi phải làm là:

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

có sự khác biệt nào giữa phương pháp này không? 'UIColor (đỏ: 0,07, xanh lá cây: 0,44, xanh dương: 0,54, alpha: 0,4)' – Changerrs

+0

@Changerrs: có thể có trường hợp khi chúng tôi cần áp dụng alpha cho màu hiện có. tức là màu sắc hiện tại không thể sửa đổi được.Do đó đối với những trường hợp như vậy, chúng ta đã có một giá trị màu, nhưng sau đó cần phải áp dụng alpha cho nó vì thế colorWithAlphaComponent có ích cho trường hợp này. –

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

Nếu bạn đã tùy chỉnh màu sắc được xác định, bạn có thể làm được điều này cũng như:

view.backgroundColor = [[MyClass someColor] colorWithAlphaComponent:0.25]; 
Các vấn đề liên quan