2012-02-14 14 views
6

enter image description hereUISplitViewController su iPad con storyboard?

In Xcode, come posso creare una semplice applicazione per iPad che utilizza storyboard in modo che il controller detailview viene scambiata per ogni voce? La maggior parte degli esempi che ho visto usano l'iPhone o semplicemente cambiano i valori nello stesso controller della vista di dettaglio.

Voglio creare le sequenze in Interface Builder da un controller TableView statico (con 3 righe) in cui ogni riga caricherà un controller di visualizzazione dei dettagli di gioco diverso, che trascinerei e progetterei in IB. Attualmente, quando connetto un controller di visualizzazione con un seguito, sostituisce la parte di navigazione di UISplitViewController. In altre parole, è come se stessi attraversando un albero, e devo dire a IB che sono su un nodo radice e che dovrei cambiare la vista di dettaglio.

+0

Per una soluzione Swift + iOS 8 per questo problema utilizzando Universal Storyboard che hanno la possibilità di verificare il mio codice - http: // swiftwala. it/multiple-detail-views –

risposta

18

Un buon punto di partenza per segues sono lezioni 6 e 7 della Stanford CS193p Autunno 2011 classe.

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

L'istruttore, Paul Hegarty, copre tutto. Tuttavia, si esaurisce il tempo prima della fine della lezione per rispondere a questa domanda. Egli include la fonte con la soluzione finale nel file: Psicologo con Dr Pill.zip.

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

In sostanza, tutto ciò che deve essere fatto per questa domanda è quello di Ctrl-trascinamento da ogni UITableCell ai rispettivi controller di vista del gioco dettaglio quindi selezionare la segue Sostituisci. C'è un ulteriore passaggio perché il controller della vista si restringerà perché Xcode, per impostazione predefinita, pensa di voler sostituire il controller master. Per ognuna delle segues, seleziona la linea di connessione e nella finestra di ispezione Attributi, quindi cambia la Destinazione da "Master Split" a "Detail Split". A questo punto, puoi testare con il popover, senza scrivere alcun codice.

Master Split Destination

Detail Split Destination

Solution

+0

Sto riscontrando un problema con la soluzione. Quando lo fai, sostituisce il Detail Navigation Controller, quindi non c'è modo di richiamare il popup. – Keith

+0

Hai visto l'episodio 7 della classe di Stanford? Questo potrebbe accadere se non si imposta correttamente il delegato. –

+0

In realtà, questo esempio dovrebbe essere utile: https://github.com/toddwbates/MultipleMasterDetailViews –

0

Difficile da descrivere senza immagini, ma: hanno un controller di navigazione come master. Quindi appendi ogni dettaglioview su questo con un nome seguito che sostituisce. Allora hai bisogno di un po 'di codice. In si master viewcontroller dentro didSelectRowAtIndexPath, è necessario un'istruzione switch basata su indexpath.row e in ogni performSegueWithIdentifier fila chiamata detailview: @ "la riga che si vuole"

+0

Puoi sempre aggiungere un'immagine alla tua risposta :) probabilmente è un buon modo per vincere anche la taglia! – Flexo

+0

Ho aggiunto un'immagine. Quando clicco su "Gioco n. 2", come faccio a creare il seguito per il controller di visualizzazione Game 2, ad esempio? Posso farlo con Ctrl-trascina segues dal mio UITableViewCells? –

Problemi correlati