UIColor के अल्फा को समायोजित करें


106

मैं UIColorएक की पृष्ठभूमि के लिए एक प्रयोग rgb सेट UILabel। मैं alphaकेवल समायोजित करने की कोशिश कर रहा हूं । मैं मौजूदा आरजीबी के अल्फा को कैसे संशोधित कर सकता हूं UIColor?

संपादित करें

मूल रूप से मेरे पास UILabelsएक सेट UIColor(आरजीबी का उपयोग करके) है, और मुझे नहीं पता कि रंग क्या UILabelsहैं। एक निश्चित बिंदु पर, मुझे labelsअल्फ़ा को बदलना होगा । मैं केवल लेबल रंग अल्फा को कैसे बदल सकता हूं?


पूर्वनिर्धारित की UIColor? एक लेबल के लिए आप .alphaसंपत्ति का उपयोग कर सकते हैं।
लिनसग्राफर्थ

जवाब देने के लिए धन्यवाद!। मेरे पास एक पूर्वनिर्धारित UIColor है। मैं लेबल्स अल्फा सेट नहीं करना चाहता, लेकिन रंग अल्फा
एरिक

जवाबों:


187

colorWithAlphaComponent: चाल चली।

तो मुझे क्या करना था:

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

क्या इस दृष्टिकोण और इसे कहने के बीच कोई अंतर है? UIColor(red:0.07, green:0.44, blue:0.54, alpha:0.4)
चेंजर्स

@Changerrs: ऐसे मामले हो सकते हैं जब हमें मौजूदा रंग में अल्फा लागू करने की आवश्यकता होती है। अर्थात मौजूदा रंगों को संशोधित नहीं किया जा सकता। इसलिए ऐसे मामलों के लिए हमारे पास पहले से ही एक रंग मूल्य है, लेकिन फिर इसे अल्फा लागू करने की आवश्यकता है इसलिए ऐसे मामले के लिए colorWithAlphaComponent काम आता है।
बिशाल घिमिरे

83

स्विफ्ट 3 और 4

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

स्विफ्ट 2

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

13

यदि आपके पास कस्टम रंग परिभाषित हैं, तो आप ऐसा भी कर सकते हैं:

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

9

क्यों नहीं उपयोग कर रहे हैं label.alpha = 0.5? अपने लेबल के अल्फा को समायोजित करने के लिए?

अद्यतन: यदि आप एक पुराने रंग से अल्फा को समायोजित करना चाहते हैं, तो यहां एक उदाहरण है:

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

}

मैं लेबल्स अल्फा सेट नहीं करना चाहता, मैं लेबल कलर अल्फा
एरिक

फर्क कहां है?
लिनसग्राफर्थ

अगर मैं पूरे लेबल का अल्फा सेट करता हूं, तो टेक्स्ट भी हल्का हो जाएगा क्योंकि मैं लेबल का बैकग्राउंड कलर सेट कर रहा हूं
एरिक

@ क्या आप का मतलब है कि मौजूदा UIColor से रंग का अल्फा बदल गया है?
JZAU

2

कृपया नीचे दिए गए कोड में अल्फा सेट करें -

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

मेरे पास वह कोड है, लेकिन मैं केवल अल्फा को संशोधित करना चाहता हूं
एरिक

आप UIlabel का बैकग्राउंड कलर सेट करना चाहते हैं और UILabel का अल्फ़ा बदलना चाहते हैं? कृपया उपरोक्त कोड का उपयोग करें
Santu C

[UIColor colorWithRed: 200.0 / 255 हरा: 191.0 / 255 नीला: 231.0 / 255 अल्फा: 1.0] जैसे संशोधित
अरुण

हाँ ठीक है, खेद गलती से
Santu सी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.