2009-02-18 16 views
11

Próbuję programowo wybrać/zmienić zakładkę UITabViewController.Jak programowo zmienić zakładkę (modułu UITabViewController)?

Próbowałem robić to poprzez:

self.tabBarController.selectedIndex = 2; 

Wygląda to być sposób, że powinien to zrobić, ale to nie działa. Pomyślałem, że może self.tabBarController zwróci obiekt tylko do odczytu (pamiętam, że go gdzieś tam czytałem), ale nie jestem pewien, jak go uruchomić.

Każda pomoc jest doceniana!

+0

Tylko dla pewności - czy podajesz poprawny indeks? Indeks tabulacji wynosi ** zero **, więc dla drugiej karty powinieneś podać indeks 1. –

Odpowiedz

29

Set selectedViewController:

self.tabBarController.selectedViewController = viewControllerYouWant; 

Na przykład

self.tabBarController.selectedViewController 
    = [self.tabBarController.viewControllers objectAtIndex:2]; 
3

Zgodnie z docs, selectedIndex lub selectedViewController są właściwości chcesz i to zarówno przypisywane.

Właściwość tabBarController jest tylko do odczytu, ale zwraca obiekt, który można edytować.

Więc cały twój kod wygląda na mnie.

0

robię coś takiego:

[root setSelectedViewController: [root.historyController navController]]; 
1

Działa to dobrze dla mnie, jeśli chcesz to zrobić przez indeks.

[self.tabBarController setSelectedIndex:2]; 
Powiązane problemy