ऐप लॉन्च पर, मेरे पास रूट दृश्य नियंत्रक के रूप में UITabBarController है। इस टैब बार के लिए, मेरे पास कुल 7 व्यू कंट्रोलर हैं। विधि application(application:didFinishLaunchingWithOptions:)
में AppDelegate.swift
अंदर, अगर मैं निम्नलिखित है, यह ठीक से काम करता है:ऐप लॉन्च पर UITabBarController के लिए 3 से अधिक इंडेक्स का चयन करें
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
// Override point for customization after application launch.
self.tabBarController = self.window?.rootViewController as! UITabBarController
self.tabBarController.selectedIndex = 2
return true
}
यह पूरी तरह से काम करता है और जब आवेदन शुरू की है टैब बार में तीसरे जा सकते हैं।
लेकिन, जब मैं किसी भी आइटम को चुनना चाहता हूं जो अधिक नेविगेशन नियंत्रक (जिसका अर्थ है 3 से अधिक किसी भी इंडेक्स) के तहत चला गया है, self.tabBarController.selectedIndex = 5
बस काम नहीं करता है। ऐप लॉन्च पूरा होने के बाद उल्लिखित बयान किसी भी हिस्से में काम करता है, यानी, अगर मैं self.tabBarController.selectedIndex = 5
को पहले व्यू कंट्रोलर के viewDidAppear
के अंदर करता हूं, तो यह काम करता है; लेकिन यह ऐप लॉन्च के समय काम नहीं करता है, यानी application(application:didFinishLaunchingWithOptions:)
में। लॉन्च होने के बाद चयनित टैब टैब बार डिफ़ॉल्ट पर रहता है। एप लॉन्च पर मैं चयनित इंडेक्स को 3 से आगे कैसे बदल सकता हूं (जो moreNavigationController
के तहत जाता है)?
http://stackoverflow.com/a/33375674/2303865 –
@ लियो डबस, मैं एप्लिकेशन लॉन्च पर पुश अधिसूचना के गहरे लिंक को संभालना चाहता हूं। इसलिए यदि मेरा ऐप नहीं चल रहा है और पुश अधिसूचना प्राप्त हो रही है, तो मैं पुश अधिसूचना पर क्लिक करता हूं। इस बिंदु पर 'एप्लिकेशन (एप्लिकेशन: didFinishLaunchingWithOptions:)' ट्रिगर किया गया है, लेकिन पहले देखें नियंत्रक अभी भी लोड नहीं हुआ है, इसलिए मेरे पर्यवेक्षक इस बिंदु पर कैसे काम करेंगे क्योंकि व्यू कंट्रोलर इंस्टेंस देखने के लिए उपलब्ध नहीं है? –
मैंने आपके सुझाव की कोशिश की। दुर्भाग्यवश यह काम नहीं कर रहा है :( –