2012-09-12 24 views
6

मैं टैबबार नियंत्रक (UIViewController) में निहित सभी दृश्यों को फिर से लोड करना चाहता हूं। खोज के बाद मुझे पता चला कि मुझे setNeedsDisplay विधि लागू करना है, लेकिन मुझे यह नहीं मिल रहा है कि मैं इसे कहां लागू करूँ। अन्य कोई विकल्प भीUIViewController को फिर से लोड करने के लिए कैसे करें

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

    self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease]; 
    [self customToolbar]; 
    [self.window addSubview:tabBarController.view]; 
    [self.window makeKeyAndVisible];  
    return YES; 
} 
-(void)customToolbar 
{ 
    //Declared view controllers and their Navigation Controller 
    ..... 

    //Declared tab bar items 
    .....  

    tabBarController = [[GTabBar alloc] initWithTabViewControllers:viewControllersArray tabItems:tabItemsArray initialTab:1]; 
} 
+0

जब आप अपने वीसी को पुनः लोड/रीफ्रेश करना चाहते हैं? – Maulik

+0

मैं ऐप प्रतिनिधि को किसी अन्य एनएसओब्जेक्ट क्लास में कॉल करता हूं जहां मैंने कुछ बटन एक्शन डाल दिया .. जब बटन दबाया जाता है तो मैं वीसी के –

उत्तर

4

यह करने के लिए किसी भी कुलपति एक निश्चित NSNotificationCenter अधिसूचना नाम करने के लिए एक पर्यवेक्षक के रूप में रीफ़्रेश करने की आवश्यकता है कि जोड़ने के लिए किया जाएगा सही तरीका स्वागत कर रहे हैं। एक बार वीसी को यह संदेश प्राप्त हो जाने के बाद, बस एक चयनकर्ता को कॉल करें जो [self setNeedsDisplay] पर कॉल करता है।

NSNotificationCenter करने के लिए एक कुलपति को जोड़ने के लिए:

[[NSNotificationCenter defaultCenter] addObserver:self selector: @selector(setNeedsDisplay) name:@"ViewControllerShouldReloadNotification" object:nil]; 

भूल removeObserver:self कॉल करने के लिए नहीं है जब दृश्य नियंत्रक पुनः आवंटित की जाती है।

+0

हाय स्टावश को फिर से लोड करना चाहता हूं..मैं यह तरीका कहां रख सकता हूं? मेरा मतलब है "ViewWillAppear"? जब मैं टैबबार स्विच करता हूं तो मैं व्यू कार्ट वेब सेवा को कॉल कर रहा हूं। मैं UIViewController वर्ग का उपयोग कर रहा हूँ। –

+1

व्यूविल्लएपियर को प्रत्येक बार प्रदर्शित होने के बारे में कहा जाता है - यह तब न केवल तभी होता है जब आप टैब बार के बीच स्विच करते हैं, लेकिन जब आप नेविगेशन स्टैक या वर्तमान से नियंत्रक को पुश और पॉप करते हैं और एक मोडल व्यू को खारिज करते हैं। यदि यह आपकी आवश्यकताओं के अनुरूप है तो हाँ, अन्यथा आपको कुछ और सोचने की आवश्यकता होगी – Stavash

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