2012-10-19 18 views
10

मेरे पास मेरे आईपैड ऐप में एक मोडल व्यू पॉप अप है और किसी कारण से इसमें सफेद, गोलाकार कोनों हैं।आईओएस: मेरे मॉडल दृश्य पर सफेद, गोलाकार कोनों क्यों हैं?

यह ध्यान देने योग्य हो सकता है कि मैंने अपने स्टोरीबोर्ड में इस मॉडल दृश्य को प्रोग्रामेटिक रूप से नहीं बनाया है। लेकिन, मेरा viewWillAppear विधि में, मैं कोने की त्रिज्या तो जैसे ...

- (void)viewWillAppear:(BOOL)animated{ 
    [super viewWillAppear:animated]; 
    self.view.layer.cornerRadius = 6.0f; 
} 

सेट कर रहा हूं जब मैं 6 से ऊपर मान सेट, सफेद कोनों दिखाई देने लगते हैं। मैं इन सफेद गोलाकार कोनों के बिना मूल्य को उच्च कैसे सेट कर सकता हूं?

आपके ज्ञान के लिए अग्रिम धन्यवाद!

+0

सिम्युलेटर में या एक असली डिवाइस पर यह हो रहा है सेट करने का प्रयास? सिम्युलेटर पर –

+0

@ रिके। मैंने अभी तक किसी डिवाइस पर कोशिश नहीं की है, लेकिन कल जब मैं एक तक पहुंच सकता हूं। – BeachRunnerFred

+0

क्या आपका मॉडल दृश्य अपारदर्शी है? – lnafziger

उत्तर

0

यह अजीब है। अगर यह काम करता है तो self.view.layer.masksToBounds = YES; भी आज़माएं। हालांकि आप शायद अपने विचार की छाया खो देंगे।

इसके बारे में सोचने के लिए आओ, कि सफेद चीज शायद आपके नेविगेशन बार के नीचे दृश्य से आती है। एप्लिकेशन प्रतिनिधि में

+0

धन्यवाद, eruainon, नीचे कोनों के साथ सफेद कोनों भी है। भी, मैंने आपके द्वारा प्रदान किए गए कोड की लाइन का उपयोग करने का प्रयास किया, लेकिन कोनों अभी भी सफेद और दृश्यमान हैं। अजीब। – BeachRunnerFred

0

प्रयास करें: [[self window] setBackgroundColor:[UIColor blackColor]];

+0

धन्यवाद, psoft, लेकिन यह काम नहीं किया – BeachRunnerFred

+0

क्या आप अपने दृश्य पदानुक्रम का प्रतिनिधित्व पोस्ट कर सकते हैं? – QED

9

[self.view superview].layer.cornerRadius = 21.0f; 
[self.view superview].layer.masksToBounds = YES; 
+1

यह वास्तव में स्वीकार्य उत्तर होना चाहिए। – rooftop

2

मुझे पता है यह एक पुराने सवाल यह है, लेकिन यह एक जवाब के हकदार ...

आईपैड मॉडल विचारों पर प्रयास करें (UIModalPresentationFormSheet का प्रयोग करके) एक डिफ़ॉल्ट पृष्ठभूमि है जो सफेद सफेद कुत्ते के साथ एक सफेद सीमा वाली छवि है। वैसे भी डिफ़ॉल्ट पृष्ठभूमि दिखाएगी कि क्या आपकी मोडल व्यू पृष्ठभूमि में गोल या पारदर्शी कोनों हैं।

मैंने डिफ़ॉल्ट पृष्ठभूमि शो के बिना अपना पृष्ठभूमि दृश्य दिखाने का तरीका जानने का प्रयास करने में काफी समय बिताया।

vc.view.clipsToBounds = NO; 
vc.view.superview.bounds = CGRectMake(vc.view.superview.bounds.origin.x, vc.view.superview.bounds.origin.y, 300, 480); 

नोट:: चाल superview आपके विचार की तुलना में छोटे बनाने के लिए है vc दृश्य आपको प्रस्तुत कर रहे हैं है। दृश्य को बहुत छोटा न करें या अन्यथा आपका स्पर्श ईवेंट काम नहीं करेगा।

0

मेरा मामला है कि सफेद रंग की परत परत पृष्ठभूमि रंग पर ड्रॉप छाया के दृश्य में छिपा हुआ है। रंग साफ करने के लिए पृष्ठभूमि को बदलने के द्वारा हल:

//Monotouch code 
View.Superview.Layer.BackgroundColor = UIColor.Red.CGColor; 

यह सफेद कोने से छुटकारा करता है, तो नहीं मिल खोज रखने के लिए, देखें, SuperView के कुछ गुण और BackgroundViews की जाँच करने के लिए याद रखें:

  • पृष्ठभूमि रंग
  • परत की पृष्ठभूमि का रंग
  • लेयर के बॉर्डर चौड़ाई और रंग
  • शीर्षक
  • सीमा को क्लिप

नोट: dropshadow ViewWillApper

0

मैं @ PeterPurple के जवाब से सहमत पर देखें का SuperView रूप में दिखाई दे रहा है, लेकिन यह मेरे लिए कुछ समय कोड है कि वास्तव में काम किया साथ आने के लिए ले लिया। मेरा उदाहरण एक मोडल व्यू प्रदर्शित करता है जो क्षैतिज केंद्रित है, लेकिन स्क्रीन के शीर्ष पर अधिक डालता है ताकि दृश्य कीबोर्ड को बाधित न करे।निश्चित रूप से जब मैं कीबोर्ड दिखाता हूं तो मैं दृश्य को ऊपर ले जा सकता हूं, लेकिन मैं आलसी हूं। किसी भी तरह, यहां मैंने यह कैसे किया।

मैं एक कस्टम मोडल segue बनाया है और कि segue में मैं overrode करते हैं: विधि के रूप में इतना:

@implementation CustomSegue 

static const CGFloat TOP_MARGIN = 40; 
static const CGFloat SUPER_VIEW_GAP = 10; 

- (void)perform { 
    UIView *destView = [self.destinationViewController view]; 

    [self.destinationViewController setModalPresentationStyle:UIModalPresentationPageSheet]; 
    [self.destinationViewController setModalTransitionStyle:UIModalTransitionStyleCrossDissolve]; 
    [[self sourceViewController] presentViewController:[self destinationViewController] animated:YES completion:nil]; 

    CGFloat x, y, width, height, yCenter; 
    CGSize contentSize = [self.destinationViewController contentSizeForViewInPopover]; 

    x = destView.superview.frame.origin.x; 
    y = destView.superview.frame.origin.y; 
    width = contentSize.width; 
    height = contentSize.height; 
    yCenter = (height/2.0) + TOP_MARGIN; 

    destView.superview.frame = CGRectMake(x + SUPER_VIEW_GAP, y + SUPER_VIEW_GAP, width - (SUPER_VIEW_GAP * 2), height - (SUPER_VIEW_GAP * 2)); 
    destView.superview.autoresizingMask = UIViewAutoresizingNone; 
    destView.superview.autoresizingMask = UIViewAutoresizingFlexibleBottomMargin; 
    destView.superview.center = CGPointMake([[self.sourceViewController view] center].x, yCenter); 
    destView.frame = CGRectMake(-SUPER_VIEW_GAP, -SUPER_VIEW_GAP, width, height); 
} 
14

आपका प्रश्न आप अपना दृश्य नियंत्रक के लिए प्रस्तुति की किस तरह उपयोग कर रहे हैं के बारे में अस्पष्ट है, तो मैं मुझे लगता है कि आप एक फॉर्म शीट का उपयोग कर रहे हैं।

- (void) viewDidAppear:animated 
{ 
    [super viewDidAppear:animated]; 

    self.view.layer.cornerRadius = 10; 
    self.view.layer.masksToBounds = YES; 
    self.view.superview.backgroundColor = [UIColor clearColor]; 
} 

backgroundColor सेट करने से पहले:

Before

backgroundColor स्थापित करने के बाद: समाधान प्रदर्शित होने से पारदर्शी पृष्ठभूमि को रोकने के लिए [UIColor clearColor] को superview की पृष्ठभूमि का रंग सेट करने के लिए है

After

+0

काम करने की पुष्टि - आईओएस 7 में भी - अरे, अगर केवल मुझे यह पहले मिला ...! – Miros

+0

मेरे लिए काम नहीं किया। इसके बजाए http://stackoverflow.com/a/20612328/2269679 आज़माएं –

0

ओ में rder मोडल दृश्य पारदर्शी बनाने और पारदर्शिता हो से पहले दृश्य दिखाई दिया viewDidAppear से निम्न के self.view.superview.backgroundColor = [UIColor clearColor] स्थानांतरित करने के लिए था बनाने के लिए:

  • (शून्य) viewWillLayoutSubviews { [सुपर व्यूविल लूआउटआउट्स];

    self.view.superview.backgroundColor = [UIColor clearcolor]; }

0

आप एक popoverpresentationcontroller उपयोग कर रहे हैं आपके विचार नियंत्रक को दिखाने के लिए, popoverpresentationcontroller की पृष्ठभूमि रंग स्पष्ट करने के

examplePopUpController = exampleViewController.popoverPresentationController! 
    examplePopUpController?.backgroundColor = UIColor.clear 
संबंधित मुद्दे