2010-10-22 7 views
2

J'ai une application où j'utilisais des boutons sur une barre d'outils pour appeler les vues, mais je passe à l'utilisation d'une barre d'onglets.Mise à jour des vues UITabBar?

Lorsque vous utilisez les boutons que j'utilisais le code suivant dans MainViewController.m de mettre à jour les valeurs de la page et cela fonctionnait très bien:

-(IBAction) loadSummaryView:(id) sender { 
[self clearView]; 
[self.view insertSubview:summaryViewController.view atIndex:0]; 
//Update the values on the Summary view 
[summaryViewController updateSummaryData]; 
[summaryViewController calculateData]; 
} 

Cependant, avec la barre d'onglets, je ne peux pas comprendre comment faire ça J'ai essayé de mettre tout le code nécessaire dans les vues récapitulatives viewDidLoad et il charge les valeurs initiales, mais il ne mettra pas à jour les valeurs quand je les change dans une autre vue.

Toute aide est appréciée. Je suis un peu nouveau à ce sujet, alors s'il vous plaît ne soyez pas énigmatique car je ne comprends pas la réponse.

Merci.

Répondre

1

En plaçant votre code dans viewDidLoad, il ne sera appelé que lorsque la vue est chargée depuis la plume. À moins que votre mémoire soit insuffisante, cette vue restera chargée pendant toute la durée de vie de votre application.

Donc, si vous avez besoin de mettre à jour les valeurs à chaque fois que la vue apparaît, envisager de déplacer ce code à un remplacement de viewWillAppear

- (void)viewWillAppear:(BOOL)animated { 
    [super viewWillAppear:animated]; 

    // your stuff goes here... 
    [self updateSummaryData]; 
    [self calculateData]; 
} 
1

Vous pouvez mettre à jour la vue actuelle dans le message viewWillAppear:animated de la vue:

Si vous avez tout configuré correctement, il n'y a rien à faire, le UITabBarController montrera votre point de vue, un UIViewController votre recevra un message viewWillAppear, où vous pouvez faire votre mise à jour:

- (void)viewWillAppear:(BOOL)animated { 
    [super viewWillAppear:animated]; 

    [self updateSummaryData]; 
    [self calculateData]; 
} 

Je recommande fortement de lire le View Controller Programming Guide for iOS qui décrit en détail les principaux paradigmes d'interface pris en charge par l'iPhone.