2009-10-17 5 views
27

क्या माता-पिता दृश्य के लिए अल्फा को .75 या .50 (पारदर्शी) सेट करना संभव है लेकिन बाल दृश्य/नियंत्रण अपारदर्शी (अल्फा चैनल 1.0 - पूरी तरह से दृश्यमान) हैं।आईफ़ोन प्रोग्रामिंग: अल्फा को पैरेंट पर लागू करना, लेकिन चाइल्ड व्यूज़

जब भी मैं अपने मुख्य UIView के अल्फा को पारदर्शी पर सेट करता हूं, तो सभी बच्चे के विचार/नियंत्रण भी पारदर्शी के रूप में दिखाए जाते हैं। क्या कोई कामकाज है?

उत्तर

28

जो माता-पिता आपकी पृष्ठभूमि के रूप में कार्य करता है उसे आपके बच्चों को लपेटने वाले कंटेनर से पहले एक भाई में बदला जाना चाहिए। इस तरह आप पूरे पदानुक्रम को प्रभावित किए बिना पारदर्शिता सेट कर सकते हैं।

यह ऐसा दिखाई देगा।

  • <item-container>
    • <item-background>
    • <children-container>
      • <children/>

इस पदानुक्रम में एक ही दृश्यता आदेश होगा और आप बच्चों के कंटेनर की सामग्री से स्वतंत्र रूप से अस्पष्टता सेट कर सकते हैं।

+0

धन्यवाद, इसे बाहर का परीक्षण होगा। – Mustafa

+0

यह मेरे लिए काम किया :)। धन्यवाद। – Mustafa

2

नहीं 100% यकीन है कि आप क्या करने की कोशिश कर रहे हैं, लेकिन आप [UIColor clearColor] के लिए पृष्ठभूमि रंग संपत्ति की स्थापना करके ऐसा कर सकते हैं अगर आप एक पारदर्शी पृष्ठभूमि के साथ एक कंटेनर दृश्य है करना चाहते हैं। इस तरह आप पृष्ठभूमि के माध्यम से देख सकते हैं, लेकिन सभी सबव्यूज अपारदर्शी बने रहेंगे। यदि आप पृष्ठभूमि को सेमी-पारदर्शी होने की इच्छा रखते हैं तो बस [यूआईसीओलर रंग विथ्रैड: हरा: नीला: अल्फा:] का उपयोग करें।

यदि आप पूरा दृश्य अर्ध-पारदर्शी होना चाहते हैं, जबकि अन्य विचार नहीं हैं तो आपको उन्हें भाई बहन बनाना होगा।

3

मुझे पता है कि यह एक देर का जवाब है, और कुछ पहले से ही स्वीकार कर लिया गया है, लेकिन मुझे लगता है कि मेरे लिए सबसे अच्छा समाधान UIView की पारदर्शिता को सीधे सेट नहीं करना है, बल्कि इसकी पृष्ठभूमि का रंग 0,0,0 पर सेट करना है , 0, रंग को पूरी तरह से पारदर्शी बनाते हैं।

+2

बस स्पष्ट होने के लिए (पूरी तरह से इरादा बंद करें), आप माता-पिता को निम्नलिखित कोड का उपयोग करके ऐसा करते हैं: [myUIView setBackgroundColor: [UIColor clearcolor]]; – DEzra

64

विचारों को भाई बहन के बिना एक आसान तरीका भी संभव है। अल्फा को सीधे मूल दृश्य पर सेट न करें। इसके बजाय

[parentView setBackgroundColor:[[UIColor clearColor] colorWithAlphaComponent:0.5]]; 

अब किसी भी बच्चे के दृश्य का अपना रंग हो सकता है और पारदर्शी नहीं होगा।

स्विफ्ट में, यह होगा

parentView.backgroundColor = UIColor.clearColor().colorWithAlphaComponent(0.7) 
+0

एक इलाज किया; बिल्कुल मुझे क्या चाहिए। धन्यवाद!! –

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