2012-02-14 9 views
6

enter image description hereUISplitViewController na iPadzie z Storyboards?

w Xcode, w jaki sposób można stworzyć prostą aplikację na iPada, który używa Storyboardy tak, że sterownik DetailView jest zamieniane na każdej pozycji? Większość przykładów, które widziałem, używa iPhone'a lub po prostu zmieniają wartości w tym samym sterowniku widoku szczegółów.

Chcę utworzyć segues w Konstruktorze interfejsów ze statycznego kontrolera TableView (z 3 wierszami), gdzie każdy wiersz będzie ładował inny kontroler widoku szczegółów gry, który będę przeciągał i projektował w IB. Obecnie, kiedy podłączam kontroler widoku z segue, zastępuje część nawigacyjną UISplitViewController. Innymi słowy, to tak, jakbym przechodził przez drzewo i muszę powiedzieć IB, że jestem w węźle głównym i powinienem zmienić widok szczegółów.

+0

rozwiązania Swift + systemów iOS 8 tego problemu przy wykorzystaniu uniwersalnej obrazkowa może chcesz sprawdzając mój kod - http: // swiftwala. com/multiple-detail-views –

Odpowiedz

18

Dobrym punktem wyjścia dla segues są Wykład 6 i 7 Stanford CS193p Jesienią 2011 roku.

http://itunes.apple.com/us/itunes-u/ipad-iphone-application-development/id473757255

Instruktor Paul Hegarty, obejmuje wszystko. Jednak kończy mu się czas na odpowiedź na to pytanie. Zawiera źródło z ostatecznym rozwiązaniem w pliku: Psycholog z dr Pill.zip.

http://www.stanford.edu/class/cs193p/cgi-bin/drupal/downloads-2011-fall

W zasadzie wszystko, co należy zrobić w tym pytaniu jest Ctrl-przeciągnięcie z każdego UITableCell do odpowiednich gra szczegółowy widok kontrolerów następnie wybierz segue wymienić. Jest jeszcze jeden krok, ponieważ kontroler widoku zmniejszy się, ponieważ domyślnie Xcode uważa, że ​​chcesz zamienić kontroler główny. Dla każdego z segues wybierz linię połączenia iw Inspektorze atrybutów, a następnie zmień miejsce docelowe z "Master Split" na "Detail Split". W tym momencie możesz testować za pomocą popover, bez pisania żadnego kodu.

Master Split Destination

Detail Split Destination

Solution

+0

Mam problem z Twoim rozwiązaniem. Kiedy to zrobisz, zastępuje Sterownik nawigacji szczegółowej, więc nie ma sposobu, aby oddzwonić do wyskakującego okienka. – Keith

+0

Czy oglądałeś odcinek 7 z klasy Stanford? Może się tak zdarzyć, jeśli nie ustawisz odpowiednio delegata. –

+0

Właściwie ten przykład powinien być pomocny: https://github.com/toddwbates/MultipleMasterDetailViews –

0

Trudno opisać bez zdjęć, ale: mieć kontroler nawigacyjny jako wzorzec. Następnie odłóż każdy widok szczegółów z nazwanym segue, który zastępuje. Następnie potrzebujesz trochę kodu. W opanujesz viewcontroller wewnątrz didSelectRowAtIndexPath, trzeba instrukcji switch w oparciu o indexpath.row iw każdym performSegueWithIdentifier rząd wezwanie detailview: @ „wiersz chcesz”

+0

Zawsze możesz dodać zdjęcie do swojej odpowiedzi :) prawdopodobnie całkiem dobry sposób na wygranie nagrody! – Flexo

+0

Dodałem zdjęcie. Kiedy klikam na "Game # 2", w jaki sposób mogę utworzyć przejście do kontrolera widoku Game 2, na przykład? Czy mogę to zrobić za pomocą Ctrl-drag segues z moich UITableViewCells? –