में एक ही दृश्य नियंत्रक की कई प्रतियों का उपयोग करना मेरे पास मेरे ऐप में निम्न सेटअप है: मेरा प्रारंभिक दृश्य नियंत्रक एक UITabBarController है। टैब:स्टोरीबोर्ड
1) UINavigationController-> PostListVC
2) UINavigationController-> CategoriesListVC
3) UINavigationController-> PostListVC
4) UINavigationController-> PostListVC
5) UINavigationController-> MoreViewController
जैसा कि आप देख सकते हैं, 3 टैब में एक ही व्यू कंट्रोलर क्लास होता है, लेकिन इसमें एक ही व्यू कंट्रोलर ऑब्जेक्ट नहीं होना चाहिए - दृश्य ऐपडिलेगेट के रूप में प्राप्त होने वाली जानकारी के आधार पर अलग-अलग जानकारी प्रदर्शित करेगा।
मैंने जो किया है, मैंने 5 यूनाविगेशन नियंत्रकों को बनाया है, उन्हें uitabbarcontroller से जोड़ा है, फिर उनमें से 3 के लिए एक रूटव्यूकंट्रोलर सेगू बनाया है, उसी पोस्टलिस्टस्ट व्यू में - इस तरह मुझे उसी दृश्य के 3 डिज़ाइन बनाए रखने की आवश्यकता नहीं है।
मुझे जो समस्या मिलती है वह यह है कि केवल पहला पोस्टलिस्टिस्ट ठीक से बनाया जाता है (टैब बार में सबसे बाएं) - पोस्ट टैबिस्ट को इंगित करने वाले अन्य टैब बस एक ब्लैक स्क्रीन दिखाते हैं।
मैं स्टोरीबोर्ड तरह से मैं तार-अप वर्णन करने के लिए एक 3-टैब उदाहरण का उपयोग की कोशिश की है:,
आप देख सकते हैं दोनों सबसे ऊपरी और निचले सबसे अधिक देखे PostListVC से जुड़े हैं।
मुझे नहीं पता कि समस्या क्या है। मुझे लगता है कि मैं कुछ हद तक गलत तरीके से स्टोरीबोर्ड का उपयोग कर रहा हूं।
क्या कोई जानता है कि मैं इसे कैसे ठीक कर सकता हूं?
धन्यवाद!
संपादित करें:
http://www.speedyshare.com/Srwfg/TabBarProblem.zip
संपादित करें 2: उदाहरण के एक संशोधित संस्करण, दिखा मैं एक सरल, उदाहरण के परियोजना (Xcode 5) इस समस्या illustartes बनाया है प्रस्तावित समाधान के साथ समस्या: http://speedy.sh/JkdGC/TabBarProblem-2.zip
इस के साथ अलग-अलग टैबबार बनाने के लिए कोई तरीका नहीं है विधि, और बार इटम्स को रखने का कोई तरीका नहीं है ताकि वे एक पंक्ति में न हों - भले ही आप segues के क्रम को हल करने का प्रयास करें।
किसी के लिए मदद करने के लिए यहां पर्याप्त जानकारी नहीं है लेकिन छवि में कुछ भी त्रुटि का सुझाव नहीं देता है। मैं यह सुनिश्चित करने के लिए कि प्रत्येक सही नियंत्रक को पारित किया जा रहा है और सही UIViewController क्लास को तत्कालित किया जा रहा है, यह सुनिश्चित करने के लिए प्रत्येक व्यू कंट्रोलर (शायद 'viewDidLoad') में कुछ' NSLog 'जोड़ना है। ध्यान दें कि प्रत्येक अद्वितीय होना चाहिए। इस जटिल को कुछ डीबग करने का यही एकमात्र तरीका है। –
दोनों दृश्यDidLoad और loadView को केवल एक बार बुलाया जाता है - PostListVC शायद सही ढंग से तत्काल नहीं हो रहा है, लेकिन मुझे नहीं पता क्यों। – Niv
कुछ चीजों को जांचने के लिए: क्या कक्षा आईबी के अंदर सही ढंग से सेट है? PostListVC में एनएसएलओजी क्या आपको इसके बारे में बताता है? क्या आईबी में दृश्य देखा गया है? यकीन नहीं है कि मैं इन सवालों से परे मदद कर सकता हूं। –