मेरे पास कई UIViewControllers हैं, जो UINavigationController के माध्यम से लोड किए गए हैं, जहां मैं loadView को ओवरराइड करता हूं, और प्रदर्शित करने के लिए कस्टम दृश्य सेट करता हूं। मुझे कुछ सबव्यूज़ के फ्रेम सेट करने में समस्याएं आ रही हैं, और शायद स्वयं ही दृश्य। मुझे लगता है कि या तो UINavigationController या UIViewController प्रदर्शित होने पर स्क्रीन को भरने के लिए इसके दृश्य को मजबूर करने में सक्षम है।क्या UIViewController या UINavigationController ने इसके दृश्य का आकार निर्धारित किया है?
मुझे आश्चर्य है कि दृश्य का आकार कब और/या कब सेट किया गया है। और यदि यह हो रहा है, तो यह दृश्य के फ्रेम को सेट कर रहा है, या इसे एक और तरीका कर रहा है।
धन्यवाद।
अद्यतन:
- (void)loadView
{
UIView *view = [[UIView alloc] initWithFrame:CGRectMake(10.0f, 10.0f, 10.0f, 10.0f)];
[view setBackgroundColor:[UIColor redColor]];
self.view = view;
[view release];
}
मैं स्थिति के लिए छोड़कर, पूरे स्क्रीन को ले जा रही एक लाल दृश्य प्राप्त: मैं सिर्फ इस के माध्यम से काम करते हुए देखा है कि मैं इस loadView विधि के साथ एक नया UINavigationController बनाने के लिए, है बार और हेडर। स्क्रीन को भरने के लिए मेरा विचार कब आकार बदलता है? दृश्य बनाने के दौरान मुझे किस आकार का उपयोग करना चाहिए?
स्पष्टीकरण के लिए धन्यवाद। दृश्य नियंत्रकों लोडव्यू में अपना दृश्य लोड करते समय, जब एक UINavigationController के माध्यम से धक्का दिया जाता है, तो क्या मुझे फ्रेम को CGRectMake (0.0, 0.0, 320.0, 416.0) के रूप में सेट करने की आवश्यकता है? जैसा कि मुझे UINavigationBar या स्टेटस बार के लिए फ्रेम मूल y समन्वय में क्षतिपूर्ति करने की आवश्यकता नहीं है? – Ryan
नवाबार का निचला भाग एक्स कंट्रोलर के लिए नया एक्स, वाई मूल बन जाता है, आपको केवल समायोजित ऊंचाई की भरपाई करने की आवश्यकता होती है। आयामों के बारे में सुनिश्चित करने के लिए 'NSLog (@" wxh =% fx% f ", self.view.frame.size.width, self.view.frame.size.height);' – Wolfert
धन्यवाद, जो इसे स्पष्ट करता है मेरे लिए। मैं अभी भी सोच रहा हूं कि दृश्य कब बदलता है। क्योंकि अगर मैं लोड आकार में गलत आकार सेट करता हूं तो भी यह सही आकार के रूप में बदल जाता है। मैं आपको जवाब दूंगा, क्योंकि यह मुझे जाता है। एक बार फिर धन्यवाद। – Ryan