2011-12-01 18 views
19

Grałem dzisiaj z iOS 5 i storyboardami. Obecnie mam to tak, że główne storyboardy zaczynają się od kontrolera uitabbar, a następnie nawigacji viewcontroler i wreszcie kontrolera uiviewcontroller. Wszystko to działa dobrze.Storyboard - UITabBarController

To, czego szukam, to sposób dynamicznego ustawiania tego kontrolera widoku, który wyświetla program uitabbarcontroller podczas uruchamiania aplikacji. Tak więc chciałbym użyć CoreData, aby sprawdzić, czy tabela była pusta i została wybrana druga kontrolka view (element tabbar 2), a jeśli nie, wybierz pierwszy viewcontroller (element tabla 1).

Ponieważ scenopis zajmuje się tym, co jest wyświetlane, nie byłem pewien, w jaki sposób w delegacie aplikacji mogę ustawić to?

Mamy nadzieję, że ktoś wskaże mi właściwy kierunek!

Dzięki!

+0

dobre pytanie koleś. Oto głos, dzięki czemu możesz głosować również – Farini

Odpowiedz

27

Twój delegat aplikacji będzie miał właściwość okna. Które mogą być wykorzystane, aby uzyskać wskaźnik do początkowego kontrolera widoku serii ujęć (która będzie twoim UITabBarController), podobnie jak to przykład jednego z mojej aplikacji delegatów aplikacji: didFinishLaunchingWithOptions:

UITabBarController *tabController = 
    (UITabBarController *)self.window.rootViewController; 
tabController.selectedIndex = 
    [defaults integerForKey:kOptionLastTabSelectedKey]; 
tabController.delegate = self; 
+0

Perfetct .... thanks! – Clarke76

+0

Dzięki za kod. Użyłem tego. Ale co z tym, że w scenorysie pojawi się jakikolwiek inny kontroler widoku? czy jest jakiś sposób na zrobienie tego? – roocell

+0

Istnieje metoda - instantiateViewControllerWithIdentifier: metoda UIStoryboard (zakładając, że ustawiono ciąg znaków dla kontrolerów widoku, do których chcesz uzyskać dostęp), chociaż spowoduje to * utworzenie * nowej instancji kontrolera widoku. Te, które są tworzone z scenorysów w aplikacji, są oczywiście dostępne w ramach metody prepareForSegue: kontrolera widoku źródłowego. – abelsey

0

Dla mnie mam dostępu na umieszczenie zakładek za pomocą self.navigationController.parentViewController; To zawsze zwraca kontroler tabbar.

Powiązane problemy