2011-08-24 10 views
8

में छाया कैसे हटा सकता हूं मैं प्रोग्राम बटन से छाया बनाने का मानक तरीका उपयोग कर रहा हूं, लेकिन बटन के साथ किए जाने के बाद मैं अब छाया नहीं करना चाहूंगा। मैं अस्पष्टता 0 पर सेट कर सकता था, लेकिन छाया अभी भी मौजूद होगी और यदि ऐसा है तो यह अभी भी सिस्टम पर कर लगाएगा। धन्यवादमैं आईफोन

यह एक त्रुटि

tempButton.superview.layer.shadowOffset = nil; 
    tempButton.superview.layer.shadowRadius = nil; 
    tempButton.superview.layer.shadowOpacity = nil; 
+0

[आईओएस जोड़ें/दृश्य से छाया हटाएं] के संभावित डुप्लिकेट [http://stackoverflow.com/questions/16751163/ios-add-remove-shadow-from-a-view) – Fattie

उत्तर

26

मैं आमतौर पर सुरक्षित होने के लिए निम्न कार्य करता हूं।

[[tempButton layer] setShadowOpacity:0.0]; 
    [[tempButton layer] setShadowRadius:0.0]; 
    [[tempButton layer] setShadowColor:nil]; 

क्वार्ट्ज अत्यधिक अनुकूलित है और इसे किसी भी समय प्रस्तुत करने पर बर्बाद नहीं होगा।

+0

+1 लेकिन मुझे आश्चर्य है कि क्या '[[temp बटन बटन] setShadowColor: शून्य]; 'वास्तव में सुरक्षित है। प्रलेखन का कहना है कि डिफ़ॉल्ट अपारदर्शी काला है लेकिन यह निर्दिष्ट नहीं करता कि कैसे निल को संभाला जाता है (और अनियंत्रित व्यवहार पर भरोसा कभी सुरक्षित नहीं होता है)। व्यक्तिगत रूप से मैं इसे छोड़ने जा रहा हूं। – Clafou

+0

'nil' ठीक काम करता प्रतीत होता है, लेकिन यदि आप इसे सुरक्षित रखना चाहते हैं तो [UIColor clearColor] .CGColor के साथ जाएं। यह ठीक काम करता है और सुरक्षित है। – Joel

1

मैं बस बटन को निकालने होता है, और एक समान (लेकिन गैर छाया) बटन के साथ बदलने देता है। या दोनों को चारों ओर रखें और उनमें से एक को छुपाएं/छुपाएं। कभी-कभी मौजूदा यूजर के साथ मुंह की तुलना में एक नया यूआई ऑब्जेक्ट बनाना आसान होता है।

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