2013-11-14 2 views
11

मैं कस्टम ट्रांसमिशन के माध्यम से मुख्य नियंत्रक में प्रदर्शित पॉपअप व्यू का एक प्रकार बनाना चाहता हूं।instantiateViewControllerWithIdentifier और फ्रीफॉर्म व्यू

मैं पॉपअप व्यू कंट्रोलर को स्टोरीबोर्ड में बना देता हूं और मैंने अपना दृश्य फ्रीफॉर्म के रूप में सेट किया है, फिर मैं दृश्य का आकार बदलता हूं।

मेरी समस्या यह है कि जब मैं instantiateViewControllerWithIdentifier का उपयोग कर व्यू कंट्रोलर लोड करता हूं तो दृश्य सीमा हमेशा पूर्ण स्क्रीन पर रीसेट होती है।

यहां कोड है जिसका मैं उपयोग कर रहा हूं, पॉपअप आकार 100x100 होना चाहिए, लेकिन इस कोड से मुझे 320X480 मिलता है।

self.popUp = (PopUpViewController*)[storyBoard instantiateViewControllerWithIdentifier:@"Popup"]; 

NSLog(@"%@",NSStringFromCGRect(self.popUp.view.bounds)); 

मैं कैसे सेटअप एक freeform दृश्य नियंत्रक और यह प्रोग्राम के रूप में लोड कर सकते हैं सही आकार के साथ?

+2

बस फ्रेम स्वयं सेट करें। 'self.popUp.view.frame = CGRectMake (w, x, y, z); ' – Fogmeister

+0

या एक पारदर्शी दृश्य @ डिज़ाइन किया गया स्थान जोड़ें और स्वयं करें .viewforpopup addubview: popup –

+0

@Fogmeister मैंने इस समाधान के बारे में सोचा कि यह स्पष्ट है : पी लेकिन मैं समझना चाहता हूं कि ऐसा क्यों होता है और अंत में इस "समस्या" से बचने का एक तरीका मिलता है। – MatterGoal

उत्तर

20

Wrong frame value while accessing the view from storyboard in IOS पर समाधान मेरे लिए काम किया।

इंस्पेक्टर में "निब से आकार बदलें" बॉक्स को अनचेक करें। आपको एक फ्रीफॉर्म व्यू कंट्रोलर के लिए सही आकार देना चाहिए।

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