2011-11-30 12 views
7

मैं एक कैलियर के चारों ओर एक ड्रॉप छाया बनाने में संघर्ष कर रहा हूं। प्रभाव के लिए मैं प्राप्त करने की कोशिश कर रहा हूं मुझे छाया की "तीव्रता" तक पहुंच की आवश्यकता है। किसी भी तरह फ़ोटोशॉप के परत शैलियों में "फैल" स्लाइडर की तरह। मुझे लगता है कि कैलियर की "छायाडियस" संपत्ति फ़ोटोशॉप के "आकार" स्लाइडर के बराबर है।स्पेल और आकार विशेषताओं के साथ कैलियर छाया?

कोई सुझाव? शायद एक रेडियल ढाल एक विकल्प है?

+1

आपको उस प्रभाव के फ़ोटोशॉप स्क्रीनशॉट के पहले/बाद में अपने प्रश्न को चित्रित करने का प्रयास करना चाहिए, जिसे आप लागू करना चाहते हैं। – guillaume

उत्तर

9

परत का shadowOffset, shadowOpacity, और shadowRadius सेट करें और आपके पास जो भी हो रहा है वह होना चाहिए।

CALayer *layer = myView.layer; 
layer.shadowOpactiy = 0.50; 
layer.shadowRadius = 5.0; 
layer.shadowOffset = (CGSize){.width=0.0,.height=0.0}; 
+1

दुर्भाग्यवश, यह मेरी समस्या का समाधान नहीं करता है। मैं छाया ढाल के "ढलान" को नियंत्रित करना चाहता हूं। समझाने के लिए कड़ी मेहनत .. तीखेपन, शायद .. – bijan

+0

तो, स्प्रेड द्वारा आपका क्या मतलब है? क्या यह ऑफसेट या त्रिज्या है? –

+0

असल में उनमें से कोई भी नहीं। मेरा मतलब काला (छाया रंग) की तीव्रता है। – bijan

5

आप नियंत्रित कर सकते "फैल" कस्टम स्थापना द्वारा: एक छाया परियोजना सीधे "नीचे" 5 पिक्सल के एक कलंक है, जो सही रंग के साथ, यह भी एक चमक की तरह लग रहे हो सकता है के साथ परत के लिए यह प्रयास एक कैलियर पर छायापाथ संपत्ति।

CGFloat radius = CGRectGetWidth(view.bounds)/2.0; 
// this is a sample code for a circle, but you can use any shape you want 
CGPathRef shadowPathRef = [UIBezierPath bezierPathWithRoundedRect:CGRectMake(0, 0, 2.0 * radius, 2.0 * radius) cornerRadius:radius].CGPath; 

layer.shadowPath = shadowPathRef; 

यदि आप त्रिज्या को एक बड़े मूल्य पर सेट करते हैं, तो छाया फैलाना बड़ा होगा।

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