Wyobraź sobie, że masz sekwencję widoków w swoim storyboardzie:
A -> ... -> Z
Chcesz mieć widoczny przycisk, Z
który pozwala użytkownikowi przejść z powrotem do A
.
Więc to, co musisz zrobić, to dać widok, który chcesz cofnąć aż do, w tym przypadku, A
metody instancji, która jest oznaczona jako a IBAction
i przyjmuje pojedynczy parametr typu UIStoryboardSegue *
. Nazwa metody i zmienna nie mają znaczenia. Nie ma też znaczenia to, co robisz w ramach implementacji. Oto przykład:
Obj-C: Interfejs
In A
(nie Z
):
- (IBAction)cancelSignup:(UIStoryboardSegue *)unwindSegue;
W A
implementacji (nie Z
):
- (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: Źródło
In A
(nie 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.
}
Teraz w swoim storyboardzie controlprzeciągnij z elementu Z
(IE, przycisk anulowania) do Z
's Exit
. Przeszuka wszystkie widoki wyżej w hierarchii widoków, które mają IBAction
akceptację tylko jednego UIStoryboardSegue *
jako akcję i wyświetli listę, z której możesz wybrać.
Miejmy nadzieję, że było to prostsze i pomocne niż istniejące odpowiedzi. Okazało się, że ten link był szczególnie przydatny, więc jeśli po przeczytaniu mojej odpowiedzi nadal jesteś niejasny, może to ci pomoże (próbowałem po prostu skondensować wszystkie przydatne informacje z tego długiego artykułu w krótką odpowiedź):
http://www.freelancemadscience.com/fmslabs_blog/2012/9/24/advanced-storyboard-techniques.html