2013-01-16 12 views
18

L'app per iPad su cui sto lavorando fa uso di Storyboard e segues. Sto provando a visualizzare un controller di visualizzazione diverso quando l'utente fa clic su celle diverse nella vista principale. Dopo aver fatto riferimento a diverse esercitazioni, i passi seguiti erano -Elemento del pulsante della barra di navigazione mancante dopo lo stile dei passaggi "Sostituisci"

  • Nelle Storyboard, Master View Controller, celle statiche creati per la visualizzazione tabella e aggiunti 3 diverse righe (cioè cella 1, la cella 2, cella 3)
  • Aggiunta una View Controller, selezionato e attaccato un Navigation Controller ad esso (Editor ->Embed In ->Navigation Controller)
  • dalla cella 1 in Master View, ho fatto un ctrl-click sul Navigation Controller.
  • Chose Segue Style "Sostituisci" e Destination "Split Detail"
  • In tableView: didSelectRowAtIndexPath, aggiunto [sé performSegueWithIdentifier: @ mittente "NewViewController": self] per fare la transizione.

Il risultato che vedo è che la vista di dettaglio viene sostituita.

Ma la barra di spostamento non ha la voce di pulsante bar Master.

Quindi non riesco a fare clic sul pulsante Master che mostra la tabella contenente le celle da cui posso navigare verso una vista diversa.

Ho già letto molti blog e ho visto commenti che parlano di sostituire un seguito per problemi simili. Tuttavia nessuno sembra aver affrontato questo problema specifico durante l'utilizzo di storyboard e segues.

Dalla mia comprensione, usare le segues dovrebbe aiutarmi a ottenere ciò che voglio. Da coloro che hanno provato questo approccio, saranno utili tutti gli indicatori nella giusta direzione.

+0

* [Cosa hai provato] (http://mattgemmell.com/2008/12/08/what-have-you-tried/)?* – Jules

+0

@Jules Questa è stata la mia prima domanda su SO. Le domande che chiedo in futuro saranno più chiare spero :) – Vinny

+1

Il link qui sotto ha il problema ben descritto e sono stato in grado di comprendere appieno perché l'elemento della barra di navigazione mancava durante l'utilizzo di storyboard. Controlla la risposta di oneMhz Vinny

risposta

1

Provare a cambiare il Segue Style da Replace a Push. Dovrebbe risolvere il tuo problema.

Quando si preme un UIViewController su un UINavigationController, verrà aggiunto a una pila e si sarà in grado di tornare indietro:

la navigazione pila di controllo prima di toccare "Dettaglio":

Master 

Il controller di navigazione dopo avere toccato i dettagli e la navigazione di un po 'di più ...:

Master -> Detail (Navigation button is displayed) -> Some other details (Navigation button is displayed) -> And maybe some more (Navigation button is displayed) 

Quando si chiama un nuovo seguito utilizzando Replace come fatto, lo Master verrà sostituito con Detail e non sarà possibile tornare indietro perché il Master è stato sostituito e non è più in pila.

la navigazione pila di controllo prima di toccare "Dettaglio":

Master 

Il controller di navigazione dopo avere toccato dettaglio utilizzando sostituire come hai fatto:

Detail (no navigation button because master was replaced and we don't have nothing more on the stack) 
Problemi correlati