2012-09-12 15 views
6

Ich möchte alle Ansichten in der Registerkarte Controller (UIViewController) neu laden. Nach der Suche fand ich, dass ich SetNeedsDisplay Methode anwenden, aber ich bin nicht in der Lage zu bekommen, wo ich es anwenden sollte.Alle anderen Alternativen bis zu einem gewissen NSNotificationCenter Benachrichtigung Namen werden ebenfallsWie neu zu laden UIViewController

begrüßt
- (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

wenn Sie Ihre VCs neu laden/aktualisieren möchten? – Maulik

+0

Ich rufe den App-Delegaten in einer anderen NSObject-Klasse, wo ich einige Tastenaktion .. wenn die Taste gedrückt wird, dann möchte ich die VC –

Antwort

4

Der richtige Weg, dies zu tun, wäre jede VC hinzufügen, die als Beobachter werden muss aktualisiert. Sobald der VC diese Nachricht erhält, rufen Sie einfach einen Selektor auf, der [self setNeedsDisplay] aufruft.

Um eine VC zu NSNotificationCenter hinzufügen:

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

nicht removeObserver:self rufen Sie vergessen, wenn die View-Controller freigegeben wird.

+0

Hallo Stavash..Where kann ich diese Methode setzen? Ich meine "ViewWillAppear"? Ich rufe View Cart Web Service an, wenn ich Tabbar wechsle. Ich verwende die UIViewController-Klasse. –

+1

ViewWillAppear wird für jedes einzelne Mal aufgerufen, an dem die Ansicht angezeigt wird - dies nicht nur, wenn Sie zwischen Tabstopps wechseln, sondern auch, wenn Sie einen Controller aus dem Navigationsstapel drücken und aufklappen und eine modale Ansicht anzeigen und ablehnen. Wenn das Ihren Bedürfnissen entspricht, dann ja, sonst müssen Sie an etwas anderes denken – Stavash

Verwandte Themen