2013-03-19 18 views
5

Ho cercato questo problema ovunque. So come funziona la scena di svolgimento. Ho implementato il seguente codice nella A VCIl trascinamento sull'uscita del viewcontroller non funziona

-(IBAction)returned:(UIStoryboardSegue *)segue { 
try.text = @"Returned from Scene 1"; 
} 

Ma quando vado al mio B VC (che è il VC voglio tornare a un VC da) e Ctrl trascinare un pulsante sul uscita alla in fondo non me lo permetterà. E nessuna funzione si apre nell'opzione di uscita. Qualcun altro ha avuto questo problema o può aiutare?

+0

Hai aggiunto la dichiarazione pubblica a A's .h? Inoltre, qual è il tipo di sequenze da A a B? – Rob

+0

B è una sottoclasse di A? Dovrebbe farlo? – Sfocker

+1

No. Dovresti avere due scene sullo storyboard, una la cui classe personalizzata è A, l'altra di cui è B.Dovresti quindi avere un push o un passaggio modale da A a B. E se l'azione di svolgimento di A è definita in A, h, quando trascini da un controllo sull'uscita B di B, dovresti vedere i tuoi passaggi di svolgimento elencati qui. – Rob

risposta

16

Per configurare un segue rilassarsi, si dovrebbe

  1. Impostare le due scene con il modale standard o spingere segue tra di loro:

    enter image description here

  2. Definire le classi personalizzate per quelle due scene sono i tuoi rispettivi controller di visualizzazione.

  3. realizzare l'azione nella .m per View Controller A:

    - (IBAction)unwindToA:(UIStoryboardSegue *)segue 
    { 
        //returning to A 
    } 
    
  4. quindi è possibile creare un segue in B da controllo -trascinamento (o tasto destro del mouse trascinando) da un certo controllo giù alla presa di uscita nel bar sottostante scena B:

    enter image description here

  5. e corri se tutto sopra è configurato ctly, ora vedrete il vostro segue rilassarsi elencato in un popover:

    enter image description here

+1

In realtà non è necessaria la dichiarazione in .h, Xcode lo trova ancora finché si implementa un metodo con la firma corretta. – rdelmar

+0

@rdelmar Grazie. Rimossa la dichiarazione .h non necessaria dalla mia risposta. – Rob

1

Ho anche avuto un problema con questo, anche se tutto è stato impostato correttamente. Alla fine ho provato a chiudere il progetto e riaprirlo e questo ha fatto il trucco. Deve essere stato qualche bug in Xcode.

Questa non sembra essere stata la causa del problema ma ho pensato di aggiungere la risposta nel caso in cui qualcun altro avesse lo stesso problema.

+0

Hey, mi sta succedendo lo stesso! Solo in modo casuale ora non ho più popup "Exit". Ma ho chiuso e riaperto Xcode e ancora non funziona! Arghhh –

+0

Sistemato rimuovendo i dati derivati ​​e riavviando Xcode. –

+0

Affrontando lo stesso problema, non ci sono popup di "Exit" anche il riavvio non sembra funzionare per me. C'è un altro modo per risolvere questo problema? – hozefam

0

@LoPoBo, @hozefam, & @Van Du Tran

Se la chiusura non funziona, forse si stava trascinando nel modo sbagliato. Invece di fare clic su Bar Button Item e trascinare da con il tasto destro del mouse -> tenere premuto & trascinare a exit segue. Questo mi ha incasinato per un buon 20 minuti prima che me ne rendessi conto. Spero che questo aiuti anche qualcun altro. Utilizzo di xcode 6.1

1

Per rendere Uscita uscita attiva, aggiungere questo codice a viewController. Ora dovresti essere in grado di fare clic tenendo premuto il tasto Ctrl per uscire dalla presa. In realtà è piuttosto strano, che ci dovrebbe essere un metodo vuoto per farlo funzionare.

swift 
@IBAction func unwindSegue(unwindSegue:UIStoryboardSegue) 

objC 
- (IBAction)unwindSegue:(UIStoryboardSegue *)sender; 
Problemi correlati