2009-03-28 5 views
3

Je souhaite enregistrer l'onglet actuel dans lequel se trouve l'utilisateur lorsque l'utilisateur quitte l'application, afin que je puisse charger l'application avec cet onglet en surbrillance lorsque l'utilisateur rentre dans l'application.Comment enregistrer l'élément de la barre d'onglets en cours lorsque l'utilisateur quitte et recharge à cet élément lors du redémarrage?

Je présume que j'utilise la méthode suivante dans mon délégué application pour enregistrer l'onglet en cours

- (void)applicationWillTerminate:(UIApplication *)application

mais comment puis-je avoir accès à l'onglet en cours - et quelle serait la meilleure façon de le recharger ?

Répondre

5

Dans applicationWillTerminate, enregistrez l'élément selectedIndex du tabbarcontroller par défaut.

[[NSUserDefaults standardUserDefaults] setInteger:[tabBarController selectedIndex] forKey:@"tabBarIndex"]; 

Ensuite, au démarrage, lisez l'index de NSDefaults, puis définissez l'onglet.

setIndex = [[NSUserDefaults standardUserDefaults] objectForKey:@"tabBarIndex"]; 
    [[NSUserDefaults standardUserDefaults] synchronize]; 

setIndex est un NSUInteger. Réglez ensuite le TabBarController dans votre viewDidLoad comme ceci:

[tabBarController selectedIndex:setIndex]; 

Ceci est de la mémoire, vous aurez donc besoin de l'essayer, mais c'est l'approche générale.

Cheers, Jordan

+0

grand il fonctionne - mais il devrait être [[NSUserDefaults standardUserDefaults] setInteger: [tabBarController selectedIndex] forKey: @ "tabBarIndex"]; – zpesk

-2

UITabBarController a une propriété qui vous donnera l'index du contrôleur de vue actuellement sélectionné; Si vous l'enregistrez dans NSUserDefaults à la fin et que vous le restaurez lorsque l'application redémarre, la restauration de l'utilisateur sera restaurée.

Je suis délibérément vague ici parce que les détails de UITabBarController et NSUserDefaults sont tous dans la documentation et vous devez apprendre à lire avant de demander de l'aide aux autres. Tout ce dont vous avez besoin doit être dans votre navigateur de documentation Xcode ou, si vous n'avez pas installé la documentation, au http://developer.apple.com.

0

La réponse de la Jordanie a travaillé pour moi, sauf que selectedIndex est une propriété, pas une méthode; si:

tabBarController.selectedIndex = setIndex; 
Questions connexes