मैंने स्टोरीबोर्ड में एक UITabBarController बनाया है। तीन अलग-अलग UIViewController प्रत्येक टैब बार आइटम से मैन्युअल रूप से जुड़े हुए हैं। मैं जो चाहता हूं वह एक टैब बार आइटम के लिए एक अलग दृश्य नियंत्रक के लिए प्रत्यक्ष है।

उदाहरण के लिए, मेरे पास इंडेक्स 2 पर एक माईप्रोफाइल टैब बार आइटम है और मैं अपंजीकृत उपयोगकर्ता के लिए लॉगिन पेज, सामान्य उपयोगकर्ता के लिए प्रोफाइल पेज, और व्यवस्थापक उपयोगकर्ता के लिए अतिरिक्त कार्यों के साथ एक प्रोफाइल पेज दिखाना चाहता हूं।

मैं तीसरे टैब बार आइटम को एक शर्त के आधार पर या तो login_view(दूसरा दाएं) या profile_view(सबसे दाएं) को निर्देशित करने के लिए सेट करना चाहता हूं। मुझे यह कैसे करना चाहिए?

मेरी स्टोरीबोर्ड

1
William 16 सितंबर 2019, 18:29

1 उत्तर

सबसे बढ़िया उत्तर

आप एक नई कक्षा बना सकते हैं और इसे UITabBarController का विस्तार कर सकते हैं, और व्यू कंट्रोलर के सरणी को व्यू कंट्रोलर के साथ बदल सकते हैं जिसे आप उस स्थिति में सेट करना चाहते हैं यदि उपयोगकर्ता लॉग इन है या नहीं। उदाहरण के लिए

import UIKit

class TabBarViewController: UITabBarController {

var isLogged = false override func viewDidLoad() { super.viewDidLoad() configureTabBar() } func configureTabBar() { if(isLogged) { self.viewControllers?[1] = ProfileViewController() } }

}

ProfileViewController को उस स्थिति में सेट करना जब आपके पास लॉगिन पेज (इस मामले में 1) हो। उसके बाद, हमें स्टोरीबोर्ड पर अपना कस्टम UITabBarController सेट करना होगा:

  1. टैब बार व्यू कंट्रोलर का चयन करें
  2. पहचान निरीक्षक के पास जाएं (दाईं ओर)
  3. हमारा कस्टम TabBarViewController सेट करें, आप इसे अगले छवि लिंक पर देख सकते हैं:

https://i.stack.imgur.com/jOuP3.png

0
fermenendez 16 सितंबर 2019, 21:22