2014-09-17 11 views
19

Ci sono 2 View Controller nella mia storyboard, VC_A e VC_Bnavigazione non Bar selezionabile in Show Segue, Xcode 6.1

ho embeded un controller di navigazione in VC_A che è un Table View Controller, Quindi controllo la cella Prototype in VC_B per creare un seguito. Se seleziono "show" in "selezione successiva", quindi in VC_B, posso vedere il contorno della barra di navigazione ma non riesco a selezionarlo o aggiungere alcun pulsante della barra ad esso, inoltre non viene visualizzato nella vista gerarchica.

view

Tuttavia, se si seleziona l'opzione "push (deprecated)" quando si sceglie il tipo di segue, sono in grado di selezionare la barra di navigazione in VC_B e aggiungere pulsanti ad esso, si mostrano anche nella vista gerarchica come un elemento di navigazione.

L'unico lavoro intorno riesco a trovare è quello di scegliere show, quindi modificare la segue a push(deprecated) nel Attribute Inspector in modo che la voce di navigazione verrà visualizzato nella vista gerarchica, quindi modificare la segue di nuovo a show. Ma sono preoccupato che ciò potrebbe causare problemi in futuro.

C'è un modo per aggiungere un pulsante di barra alla barra di navigazione VC_B senza utilizzare il lavoro intorno?

+1

Correndo nello stesso problema. Non avere un work-around. Anche se puoi iniziare con push (deprecato) e poi andare a mostrare. – dar512

risposta

3

Nel vostro viewController:

self.navigationItem.title = "Second VC" 
self.navigationItem.rightBarButtonItem = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.Play, target: self, action: "playFunction:") 

enter image description here

+0

Penso che il punto sia che vogliono mantenere questa roba nello storyboard. – Daniel

12

basta trascinare la "navigazione Voce" da libreria di oggetti alla barra di navigazione e dovrebbe funzionare come previsto. È possibile apportare modifiche come ti piace e funziona esattamente come in Xcode 5.

+0

Questo non sembra funzionare per me su Xcode 6.1.1. – Myxtic

+0

Questo è corretto. Con le classi di dimensioni, un elemento di navigazione non viene automaticamente aggiunto a un controller di visualizzazione, anche se proviene da un controller che è il controller di visualizzazione di radice di un controller di navigazione. Non penso che questo sia un bug. Un controller suddetto può o non può essere presentato da un controller nav (controllare le classi dimensionali). – Daniel

6

È interessante notare che, quando la prima volta fatto il collegamento b/w la visualizzazione tavolo regolatore e View Controller utilizzando push si può iniziare modificare la barra di navigazione senza problemi (ad es. inserire elementi sulla barra).

quindi eliminare il collegamento tra la visualizzazione tavolo regolatore e View Controller (ma non eliminare gli elementi della barra di navigazione appena aggiunti), poi ri-collegare i due controller utilizzando segue Visualizza, sarà vedere la barra di navigazione funziona proprio come segue Premere ora.

Speranza che aiuta

+0

Questa è una buona soluzione, eccetto che non devi cancellare nulla, basta fare un passo '' [Deprecato] Push 'e poi cambiarlo in un nuovo 'Show'. –

6

Penso che il modo di farlo (passando per la spinta deprecato) non è sbagliato, anche se c'è un altro modo. Infatti, quando si trasforma la Segue in una spinta, si ottiene un oggetto di navigazione.

Quindi tutto quello che dovete fare è aggiungere un elemento di navigazione al View Controller e che farà il trucco:

enter image description here

3

Questo sembra bug Xcode.

Nel mio caso, io sono ri-creano segue da questa sequenza:

  1. Eliminare seque esistente. (Sto usando "Azione segue - Show")
  2. Trascinare nuova segue con "Non-Adaptive Azione Segue - Spingere (sconsigliato)"
  3. Elimina no.2 segue
  4. Ricreare/connect "Azione seque - Mostrare". (No.1)
  5. Fatto

Ora, posso modificare il titolo di navigazione e aggiungere il pulsante voce di navigazione personalizzata come di solito.

Sto utilizzando Xcode 6.4 e iOS di destinazione minima versione 7.