2011-02-12 18 views
11

Zaczynam od nauki widoków tabel. Moje aplikacje używają kontrolera paska kart, a wszystkie karty są prostymi widokami. Chcę dodać kolejną kartę iw tej zakładce próbuję zaimplementować kontroler nawigacyjny w stylu tabeli. Z tego, co czytam, te widoki potrzebują kontrolera UINavigation jako kontrolera widoku głównego, jednak mój kontroler paska kart jest już ustawiony jako mój kontroler widoku głównego, więc jestem trochę zmieszany.Wdrażanie widoku tabeli w kontrolerze paska kart?

Czy ktoś może wyjaśnić, co powinienem zrobić, aby zaimplementować coś takiego.

Odpowiedz

17

To jest dobre pytanie, z którym większość nowych programistów Cocoa zawsze ma problemy. Musisz zastanowić się nad architekturą swojej aplikacji, aby zobaczyć, co najbardziej pasuje do twoich wymagań, ale w większości przypadków będziesz chciał, aby TabBarController był głównym/głównym kontrolerem obsługującym inne widoki, a następnie stamtąd skonfiguruj widoki tabItem na podstawie danych, które należy wyświetlić.

Dla konkretnego przypadku, gdy tworzysz nowy element karty, zamiast podawania kontrolera UIView do tego widoku tabItem, chcesz użyć kontrolera nawigacyjnego. Następnie, pod kontrolerem nawigacyjnym, będzie można przypisać jego kontroler widoku root, który powinien być instancją UITableViewController (lub UIViewController z instancją UITableView, jeśli potrzebujesz więcej niż UITableView w widoku).

więc hierarchia idzie trochę jak ten

1 - TabBarController

1,1 ----- NavigationController

1.1.1 ------- UITableViewController

1.1.1 ------- Inne widoki na twoim panelu kontrolnym

1.2 ----- Wszelkie inne widoki na twoim TabBarController

I tu jest dobry tutorial wideo, które pomogą Ci się z nim: http://www.youtube.com/watch?v=LBnPfAtswgw

Powodzenia Rog

+0

Amazing link bro !!! Właśnie tego potrzebowałem. Właśnie skończyłem oglądać i mam szkielet tego, co chcę. Po prostu muszę zająć się szczegółami. Dziękuję bardzo! – cgossain

1

Przede wszystkich widokach tabeli nie muszą koniecznie być wbudowane w kontrolery nawigacyjne. Zazwyczaj są, ale nie jest to wymagane.

Aby dodać widok tabeli należy utworzyć UITableViewController (lub rodzajowy UIViewController z UITableView osadzonym w nim, to zależy od potrzeb) i umieścić go w UITabBarControllerviewControllers nieruchomości. Na przykład:

UIViewController *vc1 = [[FirstViewController alloc] init]; 
UIViewController *vc2 = [[SecondsViewController alloc] init]; 
UITableViewController *tableVC = [[UITableViewController alloc] init]; 
tabBarController.viewControllers = [NSArray arrayWithObjects:vc1, vc2, tableVC, nil]; 

Oczywiście, powyżej widoku kontrolerów powinny być konkretne podklasy, dzięki czemu można realizować swoje własne poglądy i logiki.

Powiązane problemy