Sesuaikan alpha dari UIColor


106

Saya menetapkan UIColormenggunakan rgb ke latar belakang a UILabel. Saya mencoba untuk menyesuaikan alphasatu - satunya. Bagaimana cara mengubah alfa dari rgb yang sudah ada UIColor?

Edit

Pada dasarnya saya memiliki UILabelssatu set UIColor(menggunakan rgb), dan saya tidak akan tahu apa warnanya UILabels. Pada titik tertentu, saya harus mengubah labelsalpha`. Bagaimana saya bisa mengubah warna label alpha?


Dari yang telah ditentukan UIColor? Untuk label Anda bisa menggunakan .alphaproperti.
LinusGeffarth

Terima kasih atas tanggapannya !. Saya memiliki UIColor yang telah ditentukan. Saya tidak ingin menyetel label alfa, tetapi warna alfa
Eric

Jawaban:


187

colorWithAlphaComponent: berhasil.

Jadi yang harus saya lakukan adalah:

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

apakah ada perbedaan antara pendekatan ini dan mengatakan ini? UIColor(red:0.07, green:0.44, blue:0.54, alpha:0.4)
Changerrs

@Changerrs: ada kalanya kita perlu menerapkan alfa ke warna yang ada. yaitu warna yang ada tidak dapat dimodifikasi. Karenanya untuk kasus seperti itu, kami sudah memiliki nilai warna, tetapi kemudian perlu menerapkan alfa padanya sehingga colorWithAlphaComponent berguna untuk kasus seperti itu.
Bishal Ghimire

83

Cepat 3 & 4

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

Cepat 2

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

13

Jika Anda memiliki warna khusus yang ditentukan, Anda dapat melakukannya juga:

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

9

kenapa tidak menggunakan label.alpha = 0.5? menyesuaikan alpha label Anda?

update: jika Anda ingin menyesuaikan alpha dari warna lama, berikut contohnya:

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];

}

Saya tidak ingin menyetel label alfa, saya ingin menyetel label warna alfa
Eric

Dimana bedanya?
LinusGeffarth

Jika saya mengatur alpha dari seluruh label, maka teks juga akan menjadi lebih terang karena saya mengatur warna latar belakang label
Eric

@Eric Apakah maksud Anda mengubah warna alpha dari UIColor yang ada?
JZAU

2

Silakan atur alpha dalam kode di bawah ini -

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

Saya memiliki kode itu, tetapi saya hanya ingin mengubah alfa
Eric

Anda ingin mengatur warna latar belakang UIlabel dan ingin mengubah alfa UILabel kan? Silakan gunakan kode di atas
Santu C

[UIColor colorWithRed: 200.0 / 255 green: 191.0 / 255 blue: 231.0 / 255 alpha: 1.0] modifikasi seperti itu
Arun

Ya Benar, maaf karena kesalahan
Santu C
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.