2015-09-20 8 views
8

आईओएस 8 में, पॉपओवर की कोई छाया नहीं थी। अब आईओएस 9 में, एक बहुत भारी और दूर तक पहुंचने वाली छाया है जो शुद्ध सफेद पृष्ठभूमि पर वांछनीय से कम दिख सकती है। उस छाया को कैसे हटाया जा सकता है, और इसके बजाय पॉपओवर के चारों ओर एक पतली हल्की भूरे रेखा को जोड़ सकते हैं? या कम से कम कम या हल्का बनाया।आईओएस 9 पर पॉपओवर के पीछे छाया कैसे निकालें?

ऐसा होता है जब एक्शन शीट दिखाते हैं, .PopoverUIModalPresentationStyle का उपयोग करके दृश्य नियंत्रक प्रस्तुत करते हैं, और शायद अन्य संदर्भों में।

पॉपओवर segue: enter image description here

कार्रवाई चादर:

UIActionSheet(title: "Title", delegate: nil, cancelButtonTitle: "Cancel", destructiveButtonTitle: "Destroy").showInView(sender as! UIView) 

enter image description here

+0

यदि आपके पास उपयोग करने का कोई मामला है तो क्यों आपके पॉपओवर को हर किसी से अलग दिखना चाहिए, मैं सुझाव देता हूं कि ऐप्पल के साथ एक वृद्धि अनुरोध दर्ज करें। छाया प्रभाव UIPopoverPresentationController द्वारा खींचा जाता है लेकिन आपको इसके व्यवहार में हस्तक्षेप या अनुकूलित करने का कोई तरीका नहीं मिलता है। – matt

+0

आप जो चाहते हैं उसके लिए कोई एपीआई नहीं है। यदि आपकी जरूरत है तो कोई छाया नहीं के साथ अपना खुद का "पॉपओवर" वर्ग बनाएं। – rmaddy

+0

@ जॉय, क्या आप कुछ समझते हैं, क्या आपको नहीं लगता कि मेरा जवाब सही है? –

उत्तर

5

आप अपने UIPopoverBackgroundView कार्यान्वयन के initWithFrame में अपने स्वयं के कस्टम पॉपओवर UIPopoverBackgroundView

का उपयोग कर पृष्ठभूमि बना सकते हैं, आप एक का उपयोग कर सकते हैं ड्रॉप छाया के लिए [UIColor clearColor

- (id)initWithFrame:(CGRect)frame 
{ 
    self = [super initWithFrame:frame]; 
    if (self) { 

     self.layer.shadowColor = [[UIColor clearColor] CGColor]; 
    } 

    return self; 
} 
+0

आश्चर्यजनक रूप से, रंग एकमात्र ऐसी संपत्ति प्रतीत होता है जिसे आप बदल सकते हैं। मैंने अन्य छाया गुणों जैसे त्रिज्या, अस्पष्टता इत्यादि को बदलने का भी प्रयास नहीं किया –

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