Điều chỉnh alpha của UIColor


106

Tôi đặt a UIColorbằng rgb thành nền của a UILabel. Tôi đang cố gắng điều chỉnh alphaduy nhất. Làm cách nào để sửa đổi alpha của rgb hiện có UIColor?

Biên tập

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


Của một xác định trước UIColor? Đối với một nhãn, bạn có thể sử dụng thuộc .alphatính.
LinusGeffarth

Cảm ơn vì sự trả lời!. Tôi có một UIColor được xác định trước. Tôi không muốn thiết lập các nhãn alpha, nhưng màu sắc alpha
Eric

Câu trả lời:


187

colorWithAlphaComponent: đã lừa.

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

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

có sự khác biệt nào giữa cách tiếp cận này và nói điều này không? UIColor(red:0.07, green:0.44, blue:0.54, alpha:0.4)
Changerrs

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

83

Swift 3 & 4

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

Swift 2

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

13

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

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

9

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?

cập nhật: nếu bạn muốn điều chỉnh alpha 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];

}

Tôi không muốn thiết lập các nhãn alpha, tôi muốn thiết lập các alpha nhãn màu
Eric

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

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

@Eric Ý của bạn là thay đổi màu alpha của màu từ UIColor hiện có?
JZAU

2

Vui lòng đặt alpha trong mã bên dưới -

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

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

bạn muốn đặt màu nền của UIlabel và muốn thay đổi alpha của UILabel phải không? Vui lòng sử dụng mã trên
Santu C

[UIColor colorWithRed: 200.0 / 255 xanh lá: 191.0 / 255 xanh lam: 231.0 / 255 alpha: 1.0] sửa đổi như vậy
Arun

Có phải, xin lỗi do nhầm lẫn
Santu C
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.