Jak zapisać aktualną pozycję tabulatora bar, kiedy użytkownik odchodzi i przeładować do tej pozycji podczas restartu?

głosy
3

Chcę zapisać aktualną zakładkę użytkownik znajduje się w, gdy użytkownik wychodzi z aplikacji, więc można załadować aplikację z tej karcie podświetlone, gdy użytkownik wejdzie ponownie aplikację.

Przypuszczam, używam następujące metody w moim app delegata, aby zapisać bieżącą kartę

- (void)applicationWillTerminate:(UIApplication *)application

ale w jaki sposób mogę uzyskać dostęp do bieżącej zakładce - a co będzie najlepszym sposobem, aby ją odświeżyć?

Utwórz 28/03/2009 o 16:43
źródło użytkownik
W innych językach...                            


3 odpowiedzi

głosy
5

W applicationWillTerminate zapisz selectedIndex na TabBarController do domyślnych.

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

Wtedy na starcie, czytać w indeksie od NSDefaults a następnie ustawić kartę.

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

setIndex jest NSUInteger. Następnie ustaw TabBarController w viewDidLoad tak:

[tabBarController selectedIndex:setIndex];

Jest to z pamięci, więc trzeba go wypróbować, ale to ogólne podejście.

Wiwaty, Jordan

Odpowiedział 28/03/2009 o 18:24
źródło użytkownik

głosy
0

odpowiedź Jordana pracował dla mnie chyba że selectedIndex jest nieruchomość, a nie metoda; więc:

tabBarController.selectedIndex = setIndex;
Odpowiedział 23/06/2010 o 04:25
źródło użytkownik

głosy
-2

UITabBarController ma właściwość, który daje indeks aktualnie wybranego kontrolera widoku; Jeśli zapiszesz to pod NSUserDefaults na zakończenie i przywrócić go, gdy aplikacja uruchamia ponownie, że przywróci wybór użytkownika.

Ja celowo niejasne będąc tutaj, ponieważ szczegóły UITabBarController i NSUserDefaults są w dokumentacji i trzeba nauczyć się czytać, że przed prosić innych o pomoc. Wszystko, czego potrzebujesz powinny być w przeglądarce dokumentacji Xcode lub, jeśli nie zainstalowano dokumentację, w http://developer.apple.com .

Odpowiedział 28/03/2009 o 18:16
źródło użytkownik

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more