2014-09-28 5 views
7

मेरे पास किसी अन्य दृश्य के सबव्यू के रूप में एक दृश्य है, फिर मैंने पिता के अल्फा मान को 0.5 की तरह कुछ सेट किया है, लेकिन यह अल्फा मान 1 पर सेट होने पर भी सबव्यू पारदर्शी बनाता है। तो मैं कैसे बना सकता हूं उप-गैर-पारदर्शी (अपारदर्शी) जब उसके पिता के दृश्य में अल्फा मान 1 से कम होता है?आईओएस पारदर्शी दृश्य अपारदर्शी के सबव्यूव कैसे बनाएं?

+1

मैं यहां बहुत नया हूं, अगर कोई मुझे बता सके कि मेरा प्रश्न क्यों मतदान किया गया है? तो मैं भविष्य में अपने प्रश्नों में इस तरह के मुद्दे से बच सकता हूं। – axl411

+1

@ जोबलो इस तरह के विस्तृत उत्तर के लिए धन्यवाद! – axl411

+0

सरल समाधान को न भूलें, बस बी को उस दृश्य के बच्चे को न बनाएं। बी को एक "धारक" का बच्चा जो दोनों को पकड़ता है, लेकिन शीर्ष पर बी है। – Fattie

उत्तर

15

निकटतम आप प्राप्त करने जा रहे हैं colorWithAlphaComponent: है। निम्न की तरह कुछ उपयोग करना, आप मूल दृश्य की पृष्ठभूमि के अल्फा घटक सेट कर सकते हैं, और यह सबव्यूव को प्रभावित नहीं करेगा।

[yourSuperview setBackgroundColor:[[UIColor blackColor] colorWithAlphaComponent:0.5]]; 
+0

यह मेरी समस्या हल हो गया, thx! – axl411

1

यदि आप मूल दृश्य को 0.5 पर सेट करते हैं तो सभी सबव्यूव्यू भी 0.5 या उससे कम हो जाएंगे। आपको एक अलग डिजाइन दृष्टिकोण के साथ आना होगा।

0

आपके पास मूल दृश्य के लिए दो डिज़ाइन होना चाहिए। एक "सक्षम" डिज़ाइन होगा, जैसा कि यह दिखा रहा है और दूसरा "अक्षम" डिज़ाइन होगा, जिसमें पारदर्शी पृष्ठभूमि होगी।

आप इसे अल्फा के साथ नहीं कर सकते हैं, क्योंकि सबव्यूज़ अल्फा का उत्तराधिकारी है। यदि

parent.alpha = एक्स

और

view.alpha = y,

तो देखने का वास्तविक अल्फा होगा:

x * y

+0

इतना जटिल क्यों .. ?? बेहतर दृष्टिकोण के लिए अन्य उत्तरों देखें – ATV

0

मुझे लगता है, आपने स्टोरीबोर्ड द्वारा व्यू बनाया है। मैं पहले से ही इस समस्या का सामना कर रहा था। नीचे कोड खोजें, यह मेरे मामले में सही है।

[MyParentView setBackgroundColor:[[UIColor blackColor] colorWithAlphaComponent:0.6]]; 

आशा है, यह आपकी मदद कर सकता है।

संबंधित मुद्दे