मेरे पास एक दृश्य है जो MainWindow.xib में लोड किया गया है। यह सिर्फ uiimageview के साथ एक दृश्य है जो पूरी स्क्रीन (320 x 480) पर एक छवि दिखाता है। एप्लिकेशन के लोड मैं इस दृश्य प्रदर्शित और उसके बाद मैं एकआईफोन - UIView addSubview गैप शीर्ष पर
[self.view addSubview:tabbarController.view];
टैब बार नियंत्रक सिर्फ 2 दृश्य नियंत्रकों से जोड़ रहे है के साथ एक UITabBarController है करते हैं। जब यह सबबार में टैबबार नियंत्रक का दृश्य जोड़ता है तो यह लगभग 20px के शीर्ष पर एक अंतर छोड़ देता है। मेरे ऐप में स्टेटस बार है लेकिन यह मूल रूप से दूसरे के लिए कमरा है। यह तब तक होता है जब तक कि मैं इसे अपने व्यू कंट्रोलर में नहीं जोड़ता:
self.view.frame = CGRectMake(0, 0, 320, 480);
क्या कोई इसे समझा सकता है। मैं
self.view = tabbarController.view;
पर बताया गया था लेकिन मुझे बताया गया कि मुझे ऐसा नहीं करना चाहिए। तो अब मैं एक सबव्यूव जोड़ रहा हूं, लेकिन मुझे समझ में नहीं आ रहा है कि मुझे 20px दिखाने के लिए मेरे दृश्य के CGRect को समायोजित क्यों करना है।
स्पष्ट स्पष्टीकरण के लिए धन्यवाद। शायद मुझे वापस जाना चाहिए और मेरे ऐप का हिस्सा पुन: स्थापित करना चाहिए। मैं चीजों को सही तरीके से करना चाहता हूं, लेकिन मैंने सोचा कि ऐप प्रतिनिधि से व्यू कंट्रोलर तर्क को अलग करना बेहतर हो सकता है - इसलिए मेरा रूट व्यू कंट्रोलर जो कुछ भी चाहता है वह करता है। यह समझाएगा कि मेरे रूट व्यू कंट्रोलर में क्यों मैंने एक सबव्यूव के रूप में जोड़ने के बजाय self.view = tabbarController.view किया था, मुझे अंतर नहीं मिलेगा। बहुत बढ़िया जवाब। अगर मैं कर सकता तो मैं और अधिक वोट दूंगा। – Brian
ऐसा लगता है जैसे आपकी वृत्ति यहाँ अच्छी थी। यह कोको टच में उन डिजाइन सीमाओं में से एक है जिसे हमें अभी आसपास काम करना है। ध्यान रखें कि आपको अपने ऐप प्रतिनिधि से अपनी विंडो में tabbarController.view जोड़ने की आवश्यकता नहीं है। आप इसे अपने व्यू कंट्रोलर में जोड़ सकते हैं यदि वह ऐसा कहां है जहां आपको लगता है कि यह सबसे ज्यादा समझ में आता है। आपको केवल विंडो ऑब्जेक्ट तक पहुंच की आवश्यकता है, या तो कुंजीविंडो विधि के माध्यम से, या इसे अपने नियंत्रक पर एक प्रॉपर्टी के रूप में एप्लिकेशन में वापस सेट करके डिफाईफिशिश लॉन्चिंग:। – cduhn
लेकिन इसका मतलब यह नहीं है कि tabbarcontroller.view अब window.view का सबव्यूव्यू है? लेकिन मेरे मामले में यह सही नहीं है कि मेरे पास विज्ञापन दृश्य है, और फिर दूसरा सामग्रीदृश्य। और मैं contentview में tabbarcontroller.view जोड़ रहा हूं। इस फैशन में व्यू कंट्रोलर विज्ञापनों के आधार पर सामग्री/विज्ञापनदृश्य को संभालेगा। अगर मैं खिड़की पर tabbarcontroller.view जोड़ता हूं, तो मुझे नहीं लगता कि मैं अपने व्यू कंट्रोलर का उपयोग करके विचारों को संभालने में सक्षम हूं। तुम क्या सोचते हो? – LolaRun