में अधिक नेविगेशन नियंत्रक को दबाएं मैंने एक परियोजना के लिए एक कस्टम UITabBar समाधान लागू किया है। अनिवार्य रूप से, यदि 5 से अधिक आइटम हैं, तो मैं स्क्रॉल व्यू का उपयोग करता हूं जो उपयोगकर्ता को अतिरिक्त टैब आइटम्स के माध्यम से स्क्रॉल करने और अधिक बटन दबाएगा। मौसम चैनल ऐप में एक समान रूप और अनुभव देखा जा सकता है।कस्टम UITabBarController
प्रत्येक टैब बार आइटम एक UINavigationController से मेल खाता है जो प्रत्येक टैब के लिए दृश्यों के ढेर का प्रबंधन करता है। मेरे पास जो समस्या है, वह तब है जब मेरे पास 5 से अधिक टैब आइटम हैं, टैब 5 से आगे नेविगेशन स्टैक को सही ढंग से बनाए नहीं रखता है। ऐसा लगता है कि जब भी आप उस टैब पर वापस आते हैं तो अधिक नेविगेशन नियंत्रक नेविगेशन स्टैक को मारता है और आपको फिर से प्रारंभिक पृष्ठ पर लाया जाता है।
मैं setSelectedViewController विधि अधिरोहित किया है इस प्रकार है:
- (void) setSelectedViewController:(UIViewController *)selectedViewController {
[super setSelectedViewController:selectedViewController];
if ([self.moreNavigationController.viewControllers count] > 1) {
self.moreNavigationController.viewControllers = [[NSArray alloc] initWithObjects:self.moreNavigationController.visibleViewController, nil];
}
}
इस कोड को बाएं नेविगेशन बटन पर अधिक कार्यक्षमता निकाल देंगे, लेकिन यह नेविगेशन ढेर को बनाए रखने के मुद्दे को हल नहीं करता है। अन्य सभी टैब ठीक काम करते हैं। मैं कई विचारों को पार कर सकता हूं और उस टैब पर वापस जाने के बाद स्टैक बनाए रखा जाता है। मैं समझता हूं कि यह एक जटिल मुद्दा है इसलिए कृपया मुझे बताएं कि क्या ऐसे क्षेत्र हैं जहां मैं स्पष्टता प्रदान कर सकता हूं। धन्यवाद!
मैंने इसे थोड़ा अलग तरीके से किया, लेकिन केवल पहले व्यू कंट्रोलर को रखने और अन्य सभी को गतिशील रूप से लोड करने की आपकी अवधारणा का उपयोग किया। अच्छी तरह से किया! – Marquis103