2013-07-18 7 views
5

सेट करने से पहले बुलाया जा सकता है मेरी आवश्यकता यह है कि UITabBarController रूटव्यू कंट्रोलर है और ऐप लॉन्च के बहुत पहले समय पर मैं यूनावाकॉन के अंदर लॉगिन प्रक्रिया दिखाना चाहता हूं, और मैं इसे presentViewController के माध्यम से प्रदर्शित कर रहा हूं।[self.window makeKeyAndVisible] कर सकते हैं; rootviewcontroller

मैं नहीं चाहता कि UITabBarController पहली बार दिखाई दे और मैं नहीं चाहता कि कैसे UINavCon मॉडल के रूप में पॉपिंग करें।

मैं उपयोगकर्ता अनुभव करना चाहता हूं कि यदि ऐप पहली बार लॉगिन शुरू होता है तो UINavCon दिखाई देनी चाहिए।

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 

self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; 

[self.window makeKeyAndVisible];//is it correct to call it here? 

LoginVC *loginObj = [[LoginVC alloc]init]; 

self.navigationController = [[UINavigationController alloc] initWithRootViewController:cellPhoneNumber]; 

self.tabBarController = [[UITabBarController alloc]init]; 

self.window.rootViewController = self.tabBarController; 

[self.tabBarController presentViewController:self.navigationController animated:NO completion:^{}]; 

return YES; 
} 

मैं सही होने के बाद uiwindowallocinit दूसरी पंक्ति पर [self.window makeKeyAndVisible]; बोल रहा हूँ: तो यहाँ मेरी कोड है। क्या यह सही है या मैं दृश्य नियंत्रक जैसी घटनाओं या उन्मुखीकरण अधिसूचनाएं प्राप्त नहीं कर सकता हूं?

उत्तर

4

जब भी आप चाहें इसे कॉल कर सकते हैं। इसे कॉल करने से विंडो की जेड-इंडेक्स और स्क्रीन प्रॉपर्टी प्रभावित होती है। यह सेट होने वाली किसी भी विशिष्ट सामग्री पर निर्भर नहीं है।

+0

जवाब देना के लिए धन्यवाद एक बहुत पुन: पेश नहीं कर सकता है, कृपया आप मुझे बता सकते हम आम तौर पर बाहरी उत्पादन के मामले में केवल एक ही UIWindow है तो हम एक और UIWindow है। मेरे मामले में की तरह डिफ़ॉल्ट रूप से UIWindow यह भी कहना है इस 0 सूचकांक और सेब पर है "यह रिसीवर मुख्य विंडो बनाने के लिए एक सुविधा की विधि है और अन्य विंडो के सामने यह प्रदर्शित करता है।" अन्य खिड़कियों के सामने उनका क्या मतलब है। –

+0

अच्छी तरह से कुछ आपको विंडोज़ रखने से रोकता है। जैसे अक्सर आप पहले से ही 2 या अधिक है .. अपने और कीबोर्ड खिड़की! –

5

आपने यह उल्लेख नहीं किया है कि क्या आपके कोड का कार्यान्वयन करके कोड काम कर रहा है या नहीं। वैसे भी मैंने हाल ही में इसी तरह के कार्यान्वयन किए हैं जहां हमें लॉग इन करने के बाद लॉगिन नियंत्रक और फिर टैबबार नियंत्रक प्रस्तुत करने की आवश्यकता है, इसलिए बस मेरे कार्यान्वयन को साझा करना।

  1. अपना लॉगिन नियंत्रक बनाएं और इसे didFinishLaunching विधि में प्रस्तुत करें।

    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; 
    LoginController *loginCObj= [[[MainScreenController alloc]init]autorelease]; 
    UINavigationController *navigationControllerObj = [[[UINavigationController alloc]initWithRootViewController:loginObj]autorelease]; 
    self.window.rootViewController = navigationControllerObj; 
    [self.window makeKeyAndVisible]; 
    
  2. कि आपके प्रवेश दृश्य नियंत्रक में सफल प्रवेश पर करने के बाद, एक AppDelegate सार्वजनिक विधि

    लॉगिन नियंत्रक

    AppDelegate *appDel = (AppDelegate *)[[UIApplication sharedApplication] delegate]; 
    [appDel applicationLoggedInSuccesfully]; 
    

    अपने AppDelegate फ़ाइल में फोन इस तरह की एक पद्धति जोड़ें:

    -(void)applicationLoggedInSuccesfully{ 
        UINavigationController *nv1 = [[[UINavigationController alloc] initWithNibName:nil bundle:nil]autorelease]; 
        TabController1 *v1 = [[[TabController1 alloc] initWithNibName:nil bundle:nil]autorelease]; 
        [nv1 pushViewController:v1 animated:NO]; 
    
        UITabBarController *tabController = [[[UITabBarController alloc] init]autorelease]; 
        tabController.viewControllers = @[nv1]; 
        tabController.delegate = self; 
        self.window.rootViewController = tabController; 
        [self.window makeKeyAndVisible]; 
    } 
    

आशा है कि यह आपकी मदद करेगा।

+1

उत्तर देने के लिए धन्यवाद, मैं बस जानना चाहता हूं [self.window makeKeyAndVisible]; किसी भी समय कॉल किया जा सकता है या इसे अंत में या rootviewcontroller सेट करने के बाद कॉल किया जाना चाहिए। –

+0

क्या आपको शुरुआत में कॉल करने में कोई समस्या मिली? – HRM

+0

कोई मुद्दा नहीं अभी तक सब कुछ ठीक काम कर रहा तरह लगता है, लेकिन मैं बाद में मुसीबत में प्राप्त करना चाहते हैं न, thats क्यों मैं पूछ रहा हूँ तो और ज्ञान भी :) –

संबंधित मुद्दे