2011-11-30 21 views
5

मुझे एक आवश्यकता है जहां मुझे दृश्य के फ्रेम से परे दृश्य की छाया खींचना है। हमारे पास पहले से ही जटिल दृश्य पदानुक्रम/लेयरिंग है और दृश्य के फ्रेम और लेआउट को बदलने के लिए अब दृश्यदर्शी के दृश्य की सीमाओं को समायोजित करने के लिए संभव नहीं होगा।UIView दृश्य के फ्रेम से परे छाया खींचें

"तुम भी एक बूंद छाया कि पर आधारित होगा बना सकते हैं:

1. मैं थोड़ा चिंतित की है कि क्या मैं दृश्य बाहर छाया की आकर्षित करने के लिए अनुमति दी हूँ यहाँ इस पद्धति का पालन करते हुए हूँ । जो भी आपके ध्यान में रखते हुए तैयार की है के अल्फा घटक अक्सर यह सिर्फ दृश्य के किनारों के आसपास एक छाया में परिणाम होगाएक UILabel पर इस उदाहरण कोड:।

label.layer.shadowColor = [UIColor blackColor].CGColor; 
label.layer.shadowOpacity = 1.0; 
label.layer.shadowRadius = 5.0; 
label.layer.shadowOffset = CGSizeMake(0, 3); 
label.clipsToBounds = NO; 

इस मामले में, आपको क्लिप देखने के लिए अपने दृश्य के फ्रेम के बाहर एक छाया के लिए क्लिप होना चाहिए। इसके बाद मैं आपको दिखाऊंगा कि आप वास्तव में गोलाकार कोनों को कैसे जोड़ सकते हैं और छाया को छोड़ सकते हैं, क्योंकि मुझे यकीन है कि आप वास्तव में ऐसा करना चाहते हैं। "

संदर्भ: http://bynomial.com/blog/?p=52

2. अब, मैं धागे जो बताता है कि देखने के बाहर छाया ड्राइंग के लिए प्रोत्साहित नहीं किया गया है भर में आ गए हैं लेकिन कोई स्पष्टीकरण नहीं दिया:। How can I draw a shadow beyond a UIView's bounds?

वहाँ किसी भी है कारण है कि हमें दृश्य के फ्रेम के बाहर छाया (कैलियर) क्यों नहीं खींचना चाहिए? या, यह पहला दृष्टिकोण के बाद ठीक है?

धन्यवाद, राज

उत्तर

6

मुझे इस तरह से एक छाया खींचने का बिल्कुल कोई कारण नहीं दिखता है, और यह स्पष्ट रूप से एकमात्र तरीका है। सीमाओं के बाहर एक छाया खींचने के लिए आपको "अनुमति नहीं दी जाएगी" क्यों? clipsToBounds संपत्ति यही है।