8

मैं आईओएस प्रोग्रामिंग के लिए बिल्कुल नया हूं और मैं एक आईपैड ऐप पर काम कर रहा हूं जिसमें 4 व्यू कंट्रोलर (फर्स्ट व्यू कंट्रोलर, सेकेंड व्यू कंट्रोलर इत्यादि) के साथ टैब बार कंट्रोलर है। वर्तमान में टैब बार नियंत्रक ऐप का डिफ़ॉल्ट प्रारंभ बिंदु है। मैं उस बिंदु तक पहुंचने से पहले उपयोगकर्ता को प्रमाणीकृत करने में सक्षम होना चाहता हूं, इसलिए मैंने एक अन्य व्यू कंट्रोलर जोड़ा है जिसे LoginViewController कहा जाता है जो स्टोरीबोर्ड में स्वयं ही तैर रहा है।स्टोरीबोर्ड के साथ वर्तमान मॉड्यूल व्यू कंट्रोलर का उपयोग

मैं जो करना चाहता हूं वह ऐप को लोड करने की अनुमति देता है और किया गया FinishLaunching, प्रमाणीकरण पूर्ण होने तक लॉगिन पृष्ठ प्रदर्शित करें, फिर इसे खारिज कर दें। मैं पिछले कुछ दिनों से खोज रहा हूं, लेकिन जो कुछ भी मैं कोशिश कर रहा हूं वह असफल रहा है।

मेरे सबसे वर्तमान प्रयास

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:[NSBundle mainBundle]]; 

UINavigationController *loginVC = [storyboard instantiateViewControllerWithIdentifier:@"loginVC"]; 

loginVC.modalPresentationStyle = UIModalPresentationFullScreen; 

[self.window.rootViewController presentModalViewController:loginVC animated:YES]; 

किसी भी मदद की सराहना की जाएगी। यह संकलित करता है और चलता है, लेकिन दृश्य बिल्कुल दिखाई नहीं दे रहा है और मैं वास्तव में उलझन में हूं कि यह क्यों हो रहा है।

उत्तर

12

समस्या मैं एक UINavigationController, जब वास्तव में यह सिर्फ एक UIViewController था के रूप में यह दृष्टांत करने की कोशिश कर रहा था। एप्लिकेशन में इसे कॉल करना DidBecomeActive appDelegate.m में चाल है।

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil]; 
UIViewController *loginVC = [storyboard instantiateViewControllerWithIdentifier:@"loginVC"]; 
loginVC.modalPresentationStyle = UIModalPresentationFullScreen;  
[self.window.rootViewController presentModalViewController:loginVC animated:YES]; 
2

आपको वर्तमान में प्रदर्शित दृश्य नियंत्रक से "presentModalViewController" को कॉल करने की आवश्यकता है, न कि दृश्य को प्रदर्शित किया जाना है। इसी तरह, कुछ इस तरह:

[self.window.rootViewController presentModalViewController:loginVC animated:YES]; 
2

स्विफ्ट 2 में, यह अब है:

if let loginController: LoginViewController = mainStoryboard.instantiateViewControllerWithIdentifier("StoryboardControllerID") as? LoginViewController { 
    loginController.modalPresentationStyle = .FullScreen 
    self.window?.rootViewController?.presentViewController(loginController, animated: true, completion: {() -> Void in 
     // do stuff! 
    }) 
} 
संबंधित मुद्दे