Immagina di avere una sequenza di visualizzazioni nel tuo storyboard:
A -> ... -> Z
Si desidera visualizzare un pulsante Zche consenta all'utente di tornare indietro fino a A.
Quindi quello che devi fare è dare la vista a cui vuoi tornare indietro fino in fondo, in questo caso A, un metodo di istanza che è contrassegnato come a IBActione accetta un singolo parametro di tipo UIStoryboardSegue *. Il nome del metodo e della variabile non contano. Anche quello che fai durante l'implementazione non ha importanza. Ecco un esempio:
Obj-C:
In A's Interface (non Z' s):
- (IBAction)cancelSignup:(UIStoryboardSegue *)unwindSegue;
Nell'implementazione di A(non Zdi):
- (IBAction)cancelSignup:(UIStoryboardSegue *)unwindSegue {
// Only "implemented" to satisfy a respondsToSelector: search.
// You can actually implement more stuff here, if you want, IE, if
// you need to reach out to a server to mention that this screen was
// returned to from a later screen.
}
Swift:
nella Afonte (non in quella Z):
@IBAction func cancelSignup(unwindSegue: UIStoryboardSegue) {
// Only "implemented" to satisfy a respondsToSelector: search.
// You can actually implement more stuff here, if you want, IE, if
// you need to reach out to a server to mention that this screen was
// returned to from a later screen.
}
Ora, all'interno dello storyboard, controltrascina da un elemento su Z(IE, un pulsante di annullamento) su Zs Exit. Scansionerà tutte le viste più in alto nella gerarchia delle viste che hanno un IBActionche accetta solo una singola UIStoryboardSegue *come azione e le elencherà tra cui scegliere.
Si spera che questo sia stato più semplice e utile delle risposte esistenti. Ho scoperto che questo collegamento è stato particolarmente utile, quindi se c'è un dettaglio su cui sei ancora confuso dopo aver letto la mia risposta, forse questo può aiutarti (ho provato a condensare tutte le informazioni utili di questo lungo articolo in una breve risposta):
http://www.freelancemadscience.com/fmslabs_blog/2012/9/24/advanced-storyboard-techniques.html