Domanda

Lavorare sul mio primo progetto iPad e dopo molte avviamenti false ho un'interfaccia di base con cui sono felice che io sia soddisfatto di un controller di View Split con una barra di schede a 4 tab nella parte inferiore della radice / aolover. Ho 4 diversi controller di visualizzazione per ciascuna delle 4 schede. Tre di questi contengono tabelle, il quarto contiene i miei slider e gli interruttori delle impostazioni. Tutto ciò funziona bene in ritratto o paesaggio.

La sfida che sto affrontando è come guidare la vista dei dettagli da queste varie schede. Non ho necessariamente bisogno di visualizzazioni multiple di dettaglio poiché tutte e 3 le tabelle faranno riferimento agli stessi dati, solo ordinati in modo diverso. Quindi potrebbero potenzialmente essere tutti connessi alla stessa vista dettagliata.

Non ho trovato altri esempi di barrette da utilizzare come questa, ma sembra la soluzione perfetta per la mia app.

Come stabilire una connessione in modo che quando selezionando una cella di tabella, le informazioni dettagliate vengono visualizzate nella vista dei dettagli? La barra della scheda è stata aggiunta alla vista principale in Ib. Dovrei aggiungerlo programmaticamente invece?

Qualcuno ha un progetto di esempio in cui hai ottenuto questo per lavorare?

Grazie!

È stato utile?

Soluzione

Don't get too caught up in the 'tabbar' piece of this. Consider how a simpler app would work: if you select a cell in the RootViewController, how would you notify the DetailViewController?

It won't be automatic. Most likely, you will have a dedicated connection from the RootViewController to the DetailViewController - and you will invoke some method on the DetailViewController from the RootViewController in something like the

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath;

method in the RootViewController. Indeed, this is how the template UISplitView iPad app is setup. There is an IBOutlet connection from the RootViewController to the DetailViewController.

As long as you manage the memory correctly (retain, release) - there should be no problem if each of your (root) view controllers (in the tab view) have a connection to the single DetailViewController. To keep the tab'd controllers from stepping on each other, you may wish to centralize the logic into a 'middleman' class. Maybe you want to clean something up just before ViewControllerB sorts the details that ViewControllerA just sorted ...

That part is up to you. Just note that there is no backend black magic going on such that a DetailViewController is automatically updated to show something based on a cell selected in any RootViewController.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top